相关文章  
  • 重要文件的铠甲:EFS加密
  • Windows2000支持的几种文件系统与比较
  • 你真的了解windows的自启动方式吗?
  • C# 中数组和类型转换的功能实现
  • C#中调用带回调函数和自定义结构体的DLL例程
  • 演练:在Excel中建立自定义菜单项
  • 定时检测邮件并且自动转发的例子
  • Internet Explorer 中编辑 OLE 嵌入文档
  • 应用程序互操作性:互用性基本原理
  • 动态汉化Windows技术的一些简要分析
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    教你通过 Emit 实现动态生成一个类2

    TypeBuilder既没有实用的static方法,也不能在外部实例化。不过ModuleBuilder倒有一个DefineType()方法,可以得到TypeBuilder;而ModuleBuilder和TyperBuilder一个德行,不能直接创建,得从AssemblyBuilder的DefineDynamicModule()方法得到。追根溯源,AssemblyBuilder得从AppDomain的DefineDynamicAssembly()的得来。最终好在AppDomain提供了一个静态方法:AppDomain.CurrentDomain. 这一连串并非没有道理,类型是依附于Module的,而Module依附于Assembly,而Assembly则被AppDomain装载。所谓“皮之不存,毛将焉附”,为了创建Type这个“毛”,得先把Assembly,Module这些“皮”依次构造出来:
      
      using System;
      using System.Reflection;
      using System.Reflection.Emit;
      
      public class TypeCreator
      {
      private Type targetType;
      
      ///
      /// 构

    页码:[1] [2] [3] [4] [5] [6] [7] [8]2页、共8页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved