common language runtime加载器管理应用程序域,该域是由定义好的拥有相同的应用程序范围的类的边界组成的。该管理包括加载每一个程序集到合适的应用程序域,在每一个程序集的范围内控制类型层次的内存分布。
程序集包括模块、模块包括类型、类型包括成员。反射提供可以封装程序集、模块、类型的类。你可以利用反射来动态的创建一种类型的实例,将该类型绑定到已经存在的类型,或者从已经存在的对象获得类型。然后你就可以利用该类型的方法,或其字段和属性。关于反射的典型用法如下:
1、利用单个程序集来定义和加载多个程序集,加载在程序集中列出的模块,定位到这个程序集的一种类型,然后创建其一个实例。
2、利用模块来发现信息,例如程序集中的模块或者模块中的类等。你也可以利用模块中定义的全局方法甚至不是全局方法。
3、利用ConstructorInfo来发现信息,比如name,parameters,访问限定符以及构造函数的实现细节等,利用GetConstructors或者GetConstructor方法来触发一个特定的方法。
4、利用FieldInfo来发现信息
5、利用EventInfo来发现信息
6、利用PropertyInfo来发现信息
7、利用ParameterInfo来发现信息
程序集包括模块、模块包括类型、类型包括成员。反射提供可以封装程序集、模块、类型的类。你可以利用反射来动态的创建一种类型的实例,将该类型绑定到已经存在的类型,或者从已经存在的对象获得类型。然后你就可以利用该类型的方法,或其字段和属性。关于反射的典型用法如下:
1、利用单个程序集来定义和加载多个程序集,加载在程序集中列出的模块,定位到这个程序集的一种类型,然后创建其一个实例。
2、利用模块来发现信息,例如程序集中的模块或者模块中的类等。你也可以利用模块中定义的全局方法甚至不是全局方法。
3、利用ConstructorInfo来发现信息,比如name,parameters,访问限定符以及构造函数的实现细节等,利用GetConstructors或者GetConstructor方法来触发一个特定的方法。
4、利用FieldInfo来发现信息
5、利用EventInfo来发现信息
6、利用PropertyInfo来发现信息
7、利用ParameterInfo来发现信息
8、利用CustomAttributeData来发现自定义属性的信息