2012-04-29 113 views
0

我已经写了很多辅助类的像下面的一些原因:是否有任何视觉工作室模板工具可以基于其他源代码生成源代码?

//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){} 
} 

我需要自动生成这些助手在设计时,所以我想我需要一个工具,需要这些功能:

  • 模板在设计时写入。
  • 模板变量可以在设计时基于源代码中的存在类(意味着它们没有被编译为Assembly)。
  • 当源代码(分类)发生变化或文件保存时可以自动生成。

有没有类似的工具?

顺便说一句:有什么工具可以在设计时查询类?就像我想找到没有密封的类时,他们没有子类。

回答

0

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

您可以根据自己的情况对其进行调整。

+0

非常感谢,这就是我要找的 – 2012-06-27 06:06:51

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

纯手工方式,但我敢肯定,这是不是你真正想要的方式。

+0

我知道T4模板,但它可能只在编译后得到元数据。我正在寻找一个模板工具,可以在设计时从源代码读取元数据(例如NDepend,可以在Visual Studio中编码时使用查询类CQL)。如果这种工具不存在,也许从编译汇编反映是最好的方法。 – 2012-04-29 12:17:51

相关问题