反射中的Type

反射的作用
反射提供这样几个能力:
1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);
2、迟绑定(Late-Binding)方法和属性。
3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)。

Type对象实例
1、反射的核心是Type类。(此类封装了关于对象的信息,也是进行反射的入口),获取它的对象,可以根据type提供的属性和方法获取这个类的方法,字段,属性,事件,参数,构造函数等。
2、获取Type对象有两种形式:
 A:获取当前加载程序集中的类型(Runtime)。
 B: 获取没有加载的程序及的类型。
3、获取方法:
 1):使用静态方法GetType()
 e.g. Type t = Type.GetType("System.String");
      Console.Write(t.ToString());

 2):使用typeof操作符
 e.g. Type t=typeof("String");

 3):使用类型实例
 e.g. String userName="kenn";
      Type t=username.GetType();
 注意:使用这个方法,Type对象中不包含关于这个特定对象的信息,认识保存对象类型(string)的信息。
4、Type提供的属性:
 属 性---------------------------- 说 明
 Name -----------------------------获取类型名称
 FullName -------------------------类型全名
 Namespace ------------------------命名空间名称
 BaseType -------------------------获取对于基类的Type类型的引用
 UnderlyingSystemType -------------在.Net中映射的类型的引用
 Attributes -----------------------获取TypeAttributes位标记
 IsValueType ----------------------是否值类型
 IsByRef --------------------------是否由引用传递
 IsEnum ---------------------------是否枚举
 IsClass --------------------------是否类
 IsInterface ----------------------是否接口
 IsSealed -------------------------是否密封类
 IsPrimitive ----------------------是否基类型(比如int)
 IsAbstract -----------------------是否抽象
 IsPublic -------------------------是否公开
 IsNotPublic ----------------------是否非公开
 IsVisible ------------------------是否程序集可见
5、Type提供的方法信息:
 FiledInfo:封装的关于字段的相关信息。
 PropertyInfo:发现属性(Property)的属性(Attribute)并提供对属 性(Property)元数据的访问。
 ConstructorInfo(值类型),MethodInfo(方法类型),EventInfo(事件),ParameterInfo(封装方法的参数信息)
 注意:Type类型以及所有的Info类型均继承自MemberInfo类型(此类型 提供了获取类型基础信息的能力)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值