反射
1 请解释反射的基本原理和其实现的基石
2 .NET提供了哪些类型来实现反射
3 如何实现动态地发射程序集
4 如何利用反射来实现工厂模式

 

反射
1 请解释反射的基本原理和其实现的基石

 反射是一种动态分析程序集、模块、类型、字段等目标对象的机制,它的实现依托于元数据。元数据是存储在PE文件中的数据块,它详细记录了程序集后模块内部的结构、引用类型、程序集和清单。


2 .NET提供了哪些类型来实现反射

 在System.Reflection命名空间下,.NET提供了丰富的实现反射机制的类型,可以达到读取元数据中所有信息并且动态创建类型对象的功能。

示例:对程序集进行动态分析

首先创建一个程序集

 1 namespace NET.MST.Sixth.SimpleAssembly
 2 {
 3     /// <summary>
 4     /// 创建一个包含私有成员、特性、方法的简单类型
 5     /// </summary>
 6     [Serializable]
 7     class SimpleAssembly
 8     {
 9         private String _MyString;
10         public SimpleAssembly(String mystring)
11         {
12             _MyString = mystring;
13         }
14         public override string ToString()
15         {
16             return _MyString;
17         }
18 
19         static void Main(string[] args)
20         {
21             Console.WriteLine("简单程序集");
22             Console.Read();
23         }
24     }
25 }
View Code

相关文章: