有没有办法在C#中将类的源复制到字符串?

时间:2010-11-07 19:20:25

标签: c#

我有一个班级:

public class SomeClass {
// properties and methods here
}

理想情况下,我想将整个类发送到一个字符串,以便我可以在视图中呈现它。我能想到这样做的最好方法是运行构建脚本并将其全部发送到静态文本文件,然后在代码中引用这些文本文件。有一个更好的方法吗?我想能够说:

return View(SomeClass.SourceToString());

我希望我没有错过一个非常明显的方法来实现这一目标。

3 个答案:

答案 0 :(得分:5)

C#编译成MSIL。除了引用原始源文件之外,没有直接访问原始源的方法。

答案 1 :(得分:0)

您可以使用反射来枚举类的所有成员,并将每个成员的声明/定义发送到StringBuilder,然后返回构建的字符串。

答案 2 :(得分:0)

我担心没有什么是直截了当的,反思将给你一个“重新解释”的代码形式,具有不同的结构,没有评论,没有方法的身体...... 也许你可以使用post-build脚本保存代码的“副本”,并在调用SourceToString方法时解决它。

我认为你应该真的解释为什么你会喜欢这样的东西?也许我们能够建议你一个更好的解决方案。