Reflection.Emit 比 GetValue 和 GetValue 更好设置值:S
我被告知使用 Reflection.Emit 而不是 PropertyInfo.GetValue / SetValue,因为这种方式更快。 但我真的不知道 Reflection.Emit 的内容是什么以及如何…
是否可以从 .NET 中的动态方法调用内部方法?
我正在尝试从动态生成的方法调用内部方法。 il代码很简单:ldarg_0、callvirt、ret。 执行该方法失败,并出现 TypeLoadException,表示无法加载定义内…
如何发出代码并将其注入到加载的程序集中?
我已经使用 System.CodeDom.CodeCompileUnit 动态构建了一些类型,想要将它们编译为内存中的 IL 代码,并将该 IL 代码注入到内存中加载的程序集中 - …
使用 Reflection.Emit 创建实现接口的类
我需要使用 Reflection.Emit 生成一个实现以下接口的类。 public interface IObject { T Get<T>(string propertyName) } 有谁有一个例子来说明我…
是否有工具可以简化 Reflection.Emit 的工作?
我需要动态生成一些类型。生成的类型有多个方法、构造函数、实现接口并定义静态构造函数。有没有可以帮助完成任务的工具? 我知道 这个 Reflector 插…
将 .NET 表达式树链接到新程序集中
我正在尝试编写我自己的玩具 My Toy Language -> MSIL 编译器,以便更好地了解编译器的工作原理。我的解析和词法分析工作正常,我已经构建了表达式…
创建动态枚举并尝试引用它失败并显示 BindingFailure
我需要创建一个动态枚举,然后能够使用 Type.GetType() 获取类型。这可能吗? 下面的代码将创建一个动态枚举,并尝试使用它的限定名称。如果我首先存…
PEVerify 警告参数乱序
我使用 Reflection.Emit 构建了一个程序集。运行 PEVerify 返回 214 个相同类型的警告: [MD]: Warning: Parameter out of sequence (parameter: 1 se…
是否可以发出从泛型类型派生的类型,同时将其自身指定为泛型类型参数?
想象一下以下完全合法的类型层次结构: class A<T> where T : A<T> { } class B : A<B> { public B():base(){} } 我的问题给出了 A<>…
Reflection.Emit 动态创建方法
我想动态创建一些方法,该方法将接受单个参数 - 类 A 的实例,然后在传递的 A 实例中执行方法 B。B 具有 int 类型的参数。所以这是架构: dynamicMeth…
Compact Framework 的 Reflection.Emit 替代方案
看来.NET CF缺少非常有用的Reflection.Emit。 到目前为止,我发现这个库作为替代方案: http://www.codeplex.com/EmitCF 。 然而,它似乎是一个废弃的…
是否可以反映正在运行的 .NET 进程?
我有一个在运行时发出动态类型的应用程序。为了检查生成的 .NET 代码,我们保存动态生成的程序集并使用 Reflector。 我想知道是否有一种方法可以在相…
两个 TypeBuilder 互相调用非法?
我正在生成(使用 System.Reflection.Emit)两种类型:将它们称为 foo、bar。问题是,foo 实例化并调用 bar,而 bar 使用 foo。 当我创建 bar 时一切…
好奇心:为什么 Expression<...>编译时运行速度比最小的 DynamicMethod 更快?
我目前正在做一些最后的优化,主要是为了乐趣和学习,并发现了一些给我留下了几个问题的东西。 首先,问题: 当我通过使用 DynamicMethod,并使用调试…