Я хочу сделать небольшой пример кода с Mono.Cecil. Цель состоит в том, чтобы манипулировать IL. Метод X печатает что-то на консоли. Чтобы проверить манипулирование кодом IL, я удаляю все инструкции из метода. Но когда я запускаю External2.dll, вывод консоли по-прежнему печатается (но инструкции по выводу консоли удаляются из External2.dll). Как я могу решить эту проблему?
var module = ModuleDefinition.ReadModule("External.dll");
var types = module.Types;
foreach (var type in types) {
foreach (var method in type.Methods) {
if (method.Name == "X") {
Console.WriteLine(method.Body.Instructions.Count);
method.Body.Instructions.Clear();
Console.WriteLine(method.Body.Instructions.Count);
}
}
}
module.Write("External2.dll");