首页 > 代码库 > 2016-11-24(C#定制特性)(未完)
2016-11-24(C#定制特性)(未完)
--------------------------------------------定制特性---------------------------------------------------
//上面 这段话 是在说 可以创建一个 关键字 定义 我们自己的规则?
C#中的定制特性被放在 上面 [定制特性名称(,)]来表示 某某 用了这个定制特性。
还有个前缀,说明 这个定制特性是用在什么样的数据上 比如类 返回值 结构体 ..等等等 不写的话 他会自己判断 用法 [method:定制特性(,)]
一个特性只是一个类型的实例 而所有特性都继承自 System.Attribute
一个特性的 构造器参数是定位参数 是必须要穿进去的 设置字段或者属性的参数叫做命名参数是可选的
例如 [DllImport("Ternel32",CharSet=CharSet.AUto,SetLastError=true)]
定义自己的 特性
开一个命名空间 让自己的特性继承自Attribute 然后类名后缀要交Attribute public 构造器访问修饰符 一个以上的显示构造器
如果 假如 我们的定制特性指向应用在 枚举上面 那就在上面再加上 枚举的定制特性
AttributeUsage[AttributeTarget.Enum,Inherited=false];
可以告诉编译器 我们定义的类型 应用到 什么类型上。
//1>没指定类型 应用于所有元素 2>对一个目标只应用一次 3>可以被继承
2016-11-24(C#定制特性)(未完)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。