是否有任何visual studio模板工具可以根据其他源代码生成源代码?

时间:2012-04-29 09:42:43

标签: visual-studio templates

由于以下原因,我必须编写很多辅助类:

//original class
public class Class1{
    public Class1(int p1,int p2){}
}
public class Class2{
    public Class2(int p3,int p4,int p5){}
}
//helper class
public static Helper{
    public static Class1(int p1,int p2){}
    public static Class2(int p3,int p4,int p5){}
}

我需要在设计时自动生成这些帮助器,所以我认为我需要一个需要这些功能的工具:

  • 模板在设计时写入。
  • 模板变量可以在设计时基于源代码中的存在类(意味着它们不会被编译为汇编)。
  • 当源代码(已分类)更改或文件已保存时,可以自动生成。

有这样的工具吗?

BTW:有没有工具可以在设计时查询类?就像我想找到没有子类时没有密封的类。

2 个答案:

答案 0 :(得分:0)

也许这有帮助(T4模板)? http://msdn.microsoft.com/en-us/library/bb126445.aspx

或者有一种纯粹的手动方式来使用反射 http://www.codeproject.com/Articles/19513/Dynamic-But-Fast-The-Tale-of-Three-Monkeys-A-Wolf

但我敢打赌,这不是你真正想要的方式。

答案 1 :(得分:0)

您可能需要考虑Roslyn。在使用Roslyn之前我rewrote classes,但仅作为实验,在类中注入属性。为了使它工作,我不得不编写一个控制台应用程序,因为Visual Studio 2010当时不允许轻松集成。由于代码没有太大变化,因此手动运行不是问题。

您可以根据自己的情况调整它。