用Mono.Cecil替换类

时间:2010-04-11 20:47:09

标签: c# .net mono.cecil

说我有汇编A.它被Mono.Cecil修改了一下。现在说我有程序集B.它有一个名为SomeClass的类。程序集A还有一个名为SomeClass的类。现在我想将程序集A中的SomeClass替换为程序集B中的那个。我尝试了一些东西,但我知道,对于我的一次尝试,它实际上重新映射了这样的方法调用:

Console.WriteLine("Test.");

......进入这个:

int.WriteLine("Test.");

这不可能是正确的。用Mono.Cecil替换类的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

你可能正在做一些塞西尔不明白的事情。如果没有看到任何代码,就无法告诉你什么。

将类型换成另一个类型并不简单,您必须在目标模块中重新创建要注入的对象模型,并用新模型替换它的每个引用。基本上,您必须遍历目标模块中的每个引用,并确保它已正确处理。