码迷,mamicode.com
首页 > 其他好文 > 详细

[2014-9-9]反射

时间:2014-09-10 00:16:39      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:io   使用   ar   数据   2014   sp   on   c   ef   

1.反射即是获取一个运行程序或其他程序的元数据

2.type类是一个抽象类,不能被实例化,用来包含类型的数据

Type t = myInstance.GetType();

Type t =Typeof(myInstance);

3.特性(attribute)

特性是一种向程序集增加元数据的语言结构,特性片被方括号包围,其中是特性名和特性的参数列表

Obsolete特性 将程序结构标注为过期

Conditional特性 包含或者排斥特性方法的所有调用

 3.1多个特性

  独立特性相互重叠在一起,单个特性片段,特性之间用逗号分开。

 特性为字段和方法上的特性

 3.2自定义特性

 声明一个派生自 System.Attribute类 后缀为Attribuete结尾的名称

 建议声明为sealed特性类

 公共成员为 字段,属性,构造函数

  对于字段,声明指定了使用单个字符串的构造函数,对于方法,声明指定了使用了两个字符串的构造函数

  3.3 构造函数中位置参数和命名参数

  命名参数设置特性的字段或者属性的值

  [MyAttribute("class","Reliever=arr",ver="0.1")] 后面两个为命名参数

4 IsDefined方法,检测某个特性是否应用于某个类

t.IsDefined(typeof(MyAttribute),false)

第一个参数 接受检查特性type对象

第二个参数 是否搜素继承树来查找这个特性

5 GetCustomAttribute 方法 返回应用到结构的特性的数组

Object[] arr =t.GetCustomAttribute(false)

[2014-9-9]反射

标签:io   使用   ar   数据   2014   sp   on   c   ef   

原文地址:http://www.cnblogs.com/wuyuetian/p/3963555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!