代码改变世界

.Net中的Attribute

2012-03-19 22:32  JustRun  阅读(937)  评论(2编辑  收藏  举报

.Net中有Attribute和Property, 中文翻译都是属性,但是它们又非常不同。 常常把Attribute叫做特性以区分。

Attribute的作用:

Attribute类似于标签, 可以为类,方法,结构体,属性,委托等贴上标签,在以后的实际执行时候,根据不同的标签做不同的处理。

Attribute的几个特点

1. Attribute也是一个类
2. Attribute类是在编译的时候被实例化的,而不是像通常的类那样在运行时候才实例化

 一个实际的例子, 通过Attribute控制类的行为。
定义一个BlockAttribute, 指定的使用范围是类, 构造函数是一个枚举类型, 值是Yes, No. 

Capture1 

定义一些行为类,这些类都有Say方法,可以表达自己想说的话。
想要控制它们说的行为,可以为这些类加上BlockAttribute标签加以区分。

然后就是控制渠道, 如媒体,网络等, 进行过滤筛选。

 

源代码: AttributeDemo.zip