【发布时间】:2018-09-30 02:46:09
【问题描述】:
我一直在寻找一个新手问题,但找不到一个简单的例子。 谁能给我一个简单的例子,如何让 MethodBody 成为最可用的字符串结果?喜欢:
using Mono.Cecil;
using Mono.Cecil.Cil;
namespace my
{
public class Main
{
public Main()
{
// phseudo code, but doesnt work
Console.Write( getMethod("HelloWorld").GetMethodBody().ToString() );
}
public void HelloWorld(){
MessageBox.Show("Hiiiiiiiiii");
}
}
}
【问题讨论】:
-
您需要或期望什么样的字符串结果?十六进制的IL字节码?人类可读的 IL 指令? ...?
-
@thehennyy 我想要人类可读的。我知道它不会是 100% 完美的,但尽可能做到最大。
-
ildasm是一个选项吗?否则,您应该找到一些如何使用 mono.cecil 获取方法主体的代码。从那里你可以遍历Instruction-objects,我认为他们支持ToString() -
@thehennyy 伙计,这就是我要问的。我找不到,这就是我在这里问的原因 - 我不是 C# 专业人士。
标签: c# reflection system.reflection mono.cecil