标签:
一、元数据
可以理解为描述信息(类、类中的成员、成员的参数及返回值)。
二、程序集
我们所写的所有代码都会通过编译器编译到程序集(.exe或.dll)文件中 ,并在运行时以[Assembly对象]方式加载到内存中运行
运行时
程序集(.exe或.dll)加载到内存中就是Assembly对象
类(class、Interface)加载到内存中就是Type对象
类的成员(方法、字段、属性、事件)加载到内存中分别是 MethodInfo、PropertyInfo、FieldInfo、EventInfo对象
三、Assembly类
Assembly类表示某个程序集(.dll/.exe)
Assembly是抽象类,运行时真实的类型是RuntimeAssembly
获取方式
获取当前程序域中所有的Assembly: AppDomain.CurrentDomain.GetAssemblies()
获取当前对象所在的Assembly:this.GetType().Assembly
根据路径加载Assembly:Assembly.LoadFrom(assPath)
四、Type类
表示某个类(可以获取该类所有信息)
Type是抽象类,运行时真实的类型是TypeInfo
获取方式
通过类获取对应的Type:Type t=typeof(Person);
通过对象获得Type:Type t=p.GetType();
根据类的全名称获取程序集中类的类型对象:Type t=assembly.GetType("Model.Person");
获取程序集中定义的所有公共类型对象:Type[] types=assembly.GetExportedTypes();
获取程序集中定义的所有类型对象:Type[] types=assembly.GetTypes();
反射 学习笔记(一) 基本概念(元数据 程序集 Assembly Type)
标签:
原文地址:http://www.cnblogs.com/newstar87/p/4581902.html