如何编写类字段&在VS2008或VS2010中构建项目后,函数和不同的输入值到文件
本文关键字:函数 文件 输入 项目 字段 何编写 VS2008 构建 VS2010 | 更新日期: 2023-09-27 18:07:11
我正在考虑简化应用程序输入文件的创建
ie。我有一个自定义类
public class CustomClass
{
public string field1;
public string field2;
public string field3;
...
public static void FunctionA() {...}
}
我想能够写这个类的成员(字段/属性/函数)到一个文件后,我做一个构建。此内容将采用html或X标记形式。
我还希望能够让它根据当前现有的字段向同一文件写入不同的输入。我一直在寻找自定义属性来做到这一点,但我不知道这是否可行,甚至是正确的方法。
我的自定义属性签名看起来像
[SampleAttribute("C:'tmp'writeToThisFile.txt"]
[SampleFields("A", "B", "C", "A1"]
[SampleFields("X", "Y", "Z", "A2"]
public class CustomClass
..
文件C:'tmp'writeToThisFile.txt将包含如下内容:
field1 | field2 | field3 | FunctionA
A | B | C | A1
X | Y | Z | A2
我不想要编写/维护另一个应用程序,扫描代码并写入文件(构建事件后)。
我正在寻找现有的c#或Visual studio的行为,可能促进这种方法。
我认为在您的情况下最好是创建一个简单的插件,它将递归地遍历解决方案并检查每个文件中的代码工件。
你需要做的是:1. 创建一个简单的插件(新建项目=>其他项目类型=>扩展性=> Visual Studio Add-In)。
-
附加到OnBuildBegin并开始迭代DTE. solution . projects(在创建项目之后,您将立即拥有DTE的实例)。
-
每个项目项(如果它是一个代码文件)将有一个代码模型层次结构,其中包含该文件中的命名空间,每个命名空间包含类,每个类包含方法,属性,字段等。你基本上是在文件中下钻,找到你需要的所有元素,然后用你想要的信息构建一个字符串生成器。
我会说写一个代码来执行你想要的操作,并将其编译成EXE文件。这个EXE,比方说,使用反射来找到它需要的值,并生成所需的输出,比方说一个报告。
转到您的主项目属性,并在PostbuildEvent字段中插入DOS脚本,调用先前创建的EXE。
所以每次你的主项目编译,脚本将运行,所以你的EXE将运行。