是否可以在不加载类型信息的情况下从Assembly对象中有用地提取MSIL?
我有一个简单的应用程序,它接受一个字符串并尝试动态创建一个方法来进行非常快速的计算,但我想通过使用CodeCompileUnit
来编译C#代码字符串来避免加载程序集/类型信息,从已编译的程序集中提取MSIL,并将MSIL发送到DynamicMethod。如果可能的话。
答案 0 :(得分:2)
查看Mono.Cecil,帮助您阅读/修改/创建装配而不加载它们。
答案 1 :(得分:1)
获取MSIL的唯一方法是致电MethodBase.GetMethodBody Method。但它需要首先加载类型。
答案 2 :(得分:1)
直接使用System.Reflection.Emit。对于动态方法,您甚至不需要类型。