1 特性attribute,和注释有什么区别
特性可以影响编译
特性可以影响运行
这种会有警告,但不影响编译。
也可以强制控制,影响编译。
2.声明和使用attribute
特性就是在不影响类型封装的前提下,额外的添加一些信息,以及额外的判断
如果你用这个信息,那特性就有用,
如果你不管这个信息,那特性就没用
特性可以传参,可以定义属性,也可以定义方法
a.比如,在对定义表的实体类时。我们经常会增加一个字段,用来描述表的名称。
我们就可以用特性,通过反射获取表的名称,让实体Model与表字段完全保证一致。
*定义特性
*反射方法
*使用特性
b.我们也经常会用枚举用来定义订单的状态,但是界面展示又需要展示中文,导致代码需要增加if else 或者switch case 用来转换。
c.我们在数据库时候会有一些的字段以及数值最大值最小值设置。往往我们传了一个实体model,由于字段超长或者不匹配字段大小限制而插入数据库异常。
则可以在保存前对实体model进行判断。
特性在MVC的过滤器的身份验证,全局异常捕获,Action;WCF的方法;序列化都有运用。