随笔分类 - Reflection
摘要:在之前的两篇文章中,了解了普通的反射技术使用方法及一些常用操作,结尾提到使用反射的性能问题,反射当中遇到的性能问题有很多种优化的解决方案,其中一种就是使用反射发出,即Emit技术的使用。 首先了解下Emit能做什么,MSDN上对Reflection.Emit是这样定义的:System.Reflection.Emit命名空间包含允许编译器或工具发出元数据和Microsoft 中间语言 (MSIL)并可选择在磁盘上生成 PE 文件的类。直白的说就是通过Emit的使用,我们可以在程序中动态的去创建类型,方法,模块等到,在创建之后我们可以选择一次性使用,也可以把它保存下来,持久的使用。因此在我们需要.
阅读全文
摘要:上一篇文章(http://www.cnblogs.com/Mervin/archive/2013/03/20/reflection-1.html)中对反射有了简单的认识和了解,反射的功能还有很多,本篇文章将继续和大家一起探讨反射相关的基础知识。上篇提到反射用到的两个主要的类,System.Type和Assembly。Assembly提供程序集的相关操作,Type类则用于在获取程序集中某个类型后的一些相关操作,本篇将着重介绍这两个类的一些常用操作。 首先来介绍Assembly类,要使用Assembly类,首先需要引入System.Reflection命名空间: System.Reflectio.
阅读全文
摘要:对反射的使用一直接触不多,今天开始学习反射方面的基础知识,首先来了解下反射的概念:1.什么是反射。 反射是指在程序运行过程中,动态的去加载一个程序集,从而实现对程序集内部的类和方法等的调用操作。2. 反射能做什么。 反射能够完成如下操作: (1). 获取程序集信息。 (2). 枚举程序集内的类型成员。 (3). 实例化程序集内的对象。 (4). 执行程序集内对象的成员,如方法,属性,等。3. 如何实现反射。 反射的实现离不开两个重要的类:System.Type 和 System.Reflection 命名空间下的Assembly类。 要实现反射首先要动态的将程序集加载到当前运行的程序中,这里.
阅读全文

浙公网安备 33010602011771号