Attribute作为一种标记在我们的.net中随处可见,比如DatContract,DatMember,Serializable等等,各种用途的标记。是的我们的代码更加简洁,对于Attribute用好了,可以很好的简化我们的开发,比如PostSharp的AOP实现就是一种基于Attribute的标记编译时注入。在随笔中有关于IOC,AOP利用Attribute标记简化开发的实例。
在使用Attribute时候发现了些鲜为人知的特性:
1:利用GetCustomAttributes传入的Attribute返回得到包括派生类。
2:GetCustomAttributes每次返回的对象都是经过发射出来的没有缓存。
1:GetCustomAttributes传入的Attribute返回得到包括派生类:
这里将采用一个测试类来验证:
}
}