除了C#,VB.NET,C ++(Managed和C ++ / CLI)和F#之外,哪些.NET编程语言都有自己的CodeDom提供程序?
答案 0 :(得分:3)
我考虑为UnrealScript制作一个,但我遇到了奇怪的问题,例如CodeBinaryOperatorType不包含异或操作的事实。 .NET 4中的新表达式树看起来像很多更好地表示CodeDom在块级别应该提供的功能(如在构成函数体的语句块中)。
我认为我们需要一个新的CodeDom,它接受System.CodeDom的外部部分并使用System.Linq.Expressions的内部。然后使结果能够生成动态程序集或源代码作为输出。 (现在我考虑一下,生成一个已编译的程序集实际上与创建一个新的“语言”输出源相同。)
编辑:除此之外,您还必须考虑实施CodeModel API,因为CodeDom通常是在有人将新语言集成到Visual Studio中时实现的。