码迷,mamicode.com
首页 > 其他好文 > 详细

反射 学习笔记(一) 基本概念(元数据 程序集 Assembly Type)

时间:2015-06-16 22:54:31      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

一、元数据

可以理解为描述信息(类、类中的成员、成员的参数及返回值)。

二、程序集

我们所写的所有代码都会通过编译器编译到程序集(.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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!