【发布时间】:2011-04-28 17:11:19
【问题描述】:
在 Java 中,我们使用 javaagent 参数和 ASM (http://asm.ow2.org/) 实用程序在运行/加载时通过类加载器在内存中修改字节码。 (又名动态地向类中的方法添加方法调用)。
有一个例子是您删除对 Log4j 的所有调用以加速应用程序 (http://surguy.net/articles/removing-log-messages.xml)。
我试图弄清楚如何在运行时使用 C#/.Net 执行相同的过程。我已经看到您可以为 .Net 操作 CIL,但我还没有在运行时找到这样的示例。
System.Reflection.Emit 似乎是最接近的 .Net Equitant,您可以在其中动态创建类,但有没有办法使用它添加或覆盖现有类?
【问题讨论】:
标签: c# java .net asp.net c#-4.0