1 c#中提供了很多的基本工具会监视各种的属性,如C#的编译器(csc.exe),如编译器如果看到了[obsolete],则会在编译后显示warning,在看到
[CLSCompliant],则会查看确保所有的attribute尊从类clscompliant
2 除了开发工具,部分的.net类中的方法也会使用属性编程,如[serializable],类BinaryFormatter的方法Serialize看到这个属性,则将对应的object用压缩的放入文件中
3 CLR对属性的支持, 如[WebMethod],如果方法暴露到httprequest并返回XML值,则可以使用该属性,CLR会处理细节。
部分的属性
[NonSerializable],表示类中的字段或者struct不可以被serialize到文件中
[DllImport], 允许.net的调用c/c++的dll。但是对com写的software不起作用
举例
[Serializable]
Class Car{
public string name;
[NonSerializable]
public string vendor;
}
注意所有的属性都是继承类system.attribute,并且类名自动加后缀attribute,如seriablizableAttribute,但是在使用时可以省略后缀
2 自定义属性编程