VR开发入门教程31:控制台编程--反射
来源:
奇酷教育 发表于:
反射的概念反射机制是使程序具有动态特性的非常关键的一种机制。反射的作用:1、根据指定的类名,类字段名和所对应的数据,得到该类的实例
反射的概念
反射机制是使程序具有动态特性的非常关键的一种机制。
反射的作用:
1、根据指定的类名,类字段名和所对应的数据,得到该类的实例。
2、根据指定的装箱对象 获取其属性值或者调用其方法
3、获取未来会产生的程序集 并使用其中的类
总结一下就是让我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods1。
反射需要用到的类
反射用到的命名空间:
System.Reflection
System.Type
System.Reflection.Assembly
(1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。
(2)使用Type这个类可以访问任何给定数据类型的信息。
(3)使用ConstructorInfo 了解构造函数的名称、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。
(4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。
(5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。
(6)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。
System.Type类:
System.Type 类对于反射起着核心的作用。但它是一个抽象的基类,Type有与每种数据类型对应的派生类,我们使用这个派生类的对象的方法、字段、属性来查找有关该类型的所有信息。
获取给定类型的Type引用有3种常用方式:
●使用 C# typeof 运算符。已知类型
Type t = typeof(string);
●使用对象GetType()方法。 已知对象
string s = "grayworm";
Type t = s.GetType();
●还可以调用Type类的静态方法GetType()。已知类名
Type t = Type.GetType("System.String");