2010-01-09 136 views

回答

7

請參閱System.CodeDom命名空間。基本上你使用CodeDom來創建類的抽象模型。然後,您實例化一個CSharpCodeProvider或VBCodeProvider,並使用CodeDomProvider.GenerateCodeFrom ...方法之一將其作爲適當類型的源代碼發佈。這是Windows窗體設計器使用的基礎技術,xsd.exe等。

但是,需要注意的是,CodeDom的工作非常繁瑣和繁瑣。如果您的課程適度複雜,您可能需要使用T4或NVelocity等模板引擎。

8

你真的需要特定的.NET類,或者你可以住在Visual Studio的插件?

如果您有Visual Studio,那麼一定要查看一下T4模板 - 這是VS中最不爲人知並且最有價值的資產之一!

有至少一個命令行工具,你可以從打電話。 NET代碼做轉換,但我敢肯定,你也可以調用一些轉換引擎作爲.NET類,並讓它生成C#或VB.NET co從你的T4模板編程。

通常情況下,使用T4比CodeDom容易得多 - 它有其侷限性,但大多數情況下,這是一項讓事情快速簡單的好技術。