最近看了一些关于
C#
反射的知识,估计也就最多达到使用
API
的程度,至于要深入了解,以现在的水平估计很难做到,所以下面此篇文章,以作为一个阶段的总结。
对于反射的总结,我想从以下几个方面展开,首先是反射程序集,模块,类的成员以及成员的一些信息;接下来就是动态调用类的成员方法;第三个方面就动态产生程序集,模块和类以及类的成员。好了,现在就让我们从反射各种信息开始吧
在
C#
中,我们要使用反射,首先要搞清楚以下命名空间中几个类的关系
:
System.Reflection
命名空间
(1)
AppDomain:
应用程序域,可以将其理解为一组程序集的逻辑容器
(2)
Assembly:
程序集类
(3)
Module:
模块类
(4)
Type:
使用反射得到类型信息的最核心的类
他们之间是一种从属关系,也就是说,一个
AppDomain
可以包含
N
个
Ass