补充一下,上面提到的MSDN中讲述C#中的Attribute的文章"Extending Metadata Using Attributes"的地址是http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconextendingmetadatausingattributes.asp
关于C#中的Attribute,您可以参考MSDN中的"Extending Metadata Using Attributes"。这篇文章讲的非常详细,而且附带了大量的例子代码并有说明,其中还以一个DeveloperAttribute为例讲述了如何自定义Attribute和如何使用自定义的Attribute。
Attribute的中文意思是属性,它是一种类。也被称为类的属性成员。它与我们用的字段成员(也就是在C++中的数据成员)不同的是:访问字段成员实际上是对变量的访问,而属性成员在类的对象中是不以变量的形式出现的,它是函数成员的一种。虽然可以象操作变量一样操作一个属性成员,但是在属性成员内部需要向外界提供某个表达式的值,或者接受外界 的值以便修改某个字段成员。我们一般可以这么使用Attribute:
class Circle
{
protected int nColor;
public int Color
{
get
{
return nColor;
}
set
{
nColor=value;
}
}
}
这样可以很好的保证类的封闭性。我们可以通过共有的函数来访问类中的私有或保护的数据成员。