【发布时间】:2012-11-14 10:21:20
【问题描述】:
我想以编程方式将一个函数(一个 TestMethod)添加到现有的 C# 文件中。
经过一番谷歌搜索,我找到了库 EnvDTE 和 CodeModel.AddFunction-Method,但我找不到我想要的一个很好的例子。
我想在新创建的函数中添加一个带有代码的函数以及一个属性。像这样的:
/// <summary>
/// Documentation
/// </summary>
[TestMethod]
public void TestMethod1()
{
string test = Helper.CodeExample();
}
谁能给我举个例子来说明如何做到这一点?
编辑:我想编辑一个 C# 文件,就像你编辑一个文本文件一样。我知道您可以使用 StreamWriter 来做到这一点,但是否有更好的方法来做到这一点?
【问题讨论】:
-
您的意思是修改 C#(文本)文件还是 C# (.NET) 类?修改文本与修改编译后的代码完全不同。
-
我的意思是一个 C# 文本文件。它用于生成测试文件。我可以用 StreamWriter 做到这一点,但我可能有更好的方法来做到这一点。
-
您需要找到可以将代码解析为语法树的东西,然后调整该语法树以添加您的函数,然后从该语法树生成一个新文件。
-
Visual Studio 可以为他做到这一点(使用 EnvDTE)。无需重新发明轮子:-)
标签: c# visual-studio-2010 envdte