【发布时间】:2010-10-17 05:03:23
【问题描述】:
我正在编写一个相当简单的代码生成工具,并且我需要能够将 MSIL(或 MethodInfo)对象转换为其 C# 源代码。我意识到 Reflector 在这方面做得很好,但它有一个令人讨厌的“特性”,即仅作为 UI。
我知道我可以直接生成 C# 字符串,使用 string.Format 插入变量部分,但我真的更喜欢能够以编程方式生成方法(例如委托或 MethodInfo 对象),然后传递这些方法将它们转换为 C# 的作家。
系统库使得在运行时从 C# 源代码字符串到编译(和可执行)方法变得如此容易,但从对象到源代码却不可能——即使是简单的东西。
有什么想法吗?
【问题讨论】:
标签: c# reflection code-generation reflector