学习记录:定义动态程序集和动态模块

2022/2/21 14:27:55

本文主要是介绍学习记录:定义动态程序集和动态模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

记录原因:

学习架构时关于动态程序集知识点不牢固,故查官方文档记录。

 

官方文档地址:https://docs.microsoft.com/zh-cn/dotnet/framework/reflection-and-codedom/how-to-define-a-generic-method-with-reflection-emit

定义动态程序集和动态模块,以包含泛型方法所属类型。 在这种情况下,程序集仅有一个模块 DemoMethodBuilder1,模块名称为该程序集名称加上扩展名。 
在此示例中,因为要将程序集保存在磁盘并执行,所以指定了 AssemblyBuilderAccess.RunAndSave。 
可以使用 Ildasm.exe(IL 反汇编程序)检查 DemoMethodBuilder1.dll,并将其与步骤 1 中所示方法的 Microsoft 中间语言 (MSIL) 比较。
AssemblyName asmName = new AssemblyName("DemoMethodBuilder1");
AppDomain domain = AppDomain.CurrentDomain;
AssemblyBuilder demoAssembly =
    domain.DefineDynamicAssembly(asmName,
        AssemblyBuilderAccess.RunAndSave);

//定义包含代码的模块。为一个模块的程序集,模块名称是程序集名称加上文件扩展名。
ModuleBuilder demoModule = demoAssembly.DefineDynamicModule(asmName.Name, asmName.Name+".dll");

 



这篇关于学习记录:定义动态程序集和动态模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程