.net框架中是否有任何类允许我生成可以保存为.cs或.vb文件的类?
您是否真的需要特定的.NET类,或者您是否可以使用Visual Studio的插件?
如果您有Visual Studio,请务必查看T4模板 - 这是VS中最不为人知但最有价值的资产之一!
T4(文本模板转换工具包)代码生成 - 最佳保持Visual Studio秘密
Visual Studio的T4代码生成
T4 Architecture和Oleg在T4上的优秀博客/网站上的任何其他内容
T4:文本模板转换工具包
至少有一个命令行工具,你可以从.NET代码调用来进行转换,但我很确定你也可以调用一些转换引擎作为.NET类,让它从中生成C#或VB.NET代码您的T4模板以编程方式.
通常情况下,使用T4比CodeDom容易得多 - 它有其局限性,但在大多数情况下,它是一种快速简便的完美工作.
请参见System.CodeDom命名空间.基本上,您使用CodeDom来创建类的抽象模型.然后,您实例化一个CSharpCodeProvider或VBCodeProvider,并使用CodeDomProvider.GenerateCodeFrom ...方法之一将其作为相应类型的源代码发出.这是Windows窗体设计器,xsd.exe等使用的基础技术.
但是,请注意CodeDom非常冗长和繁琐.如果您的类很复杂,您可能希望使用模板引擎,如T4或NVelocity.