2011-04-28 47 views
6

在Java中,我们使用javaagent参数和ASM(http://asm.ow2.org/)实用程序来修改内存中运行/加载时的字节码类加载器。 (又名动态添加方法调用方法在类中)。寻找一种在运行时操作.Net CIL的方法

一旦例子这是你要删除所有的Log4j呼吁加快应用程序(http://surguy.net/articles/removing-log-messages.xml)。

我想弄清楚如何在运行时用C#/ .Net做同样的过程。我已经看到你可以操纵.Net的CIL,但是在运行时我还没有找到这样的例子。

System.Reflection.Emit似乎是最接近的净equitant在那里你可以动态地创建类,但有没有办法来添加或覆盖使用这种已经存在的类?

回答

0

这已经有一段时间,因为我看着它(我是一个很值得Java的兔子),但我认为,Mono项目有一种叫塞西尔其中至少做一些这。