5

除了 C#、VB.NET、C++(托管和 C++/CLI)和 F#,哪些 .NET 编程语言有自己的 CodeDom 提供程序?

4

1 回答 1

3

我曾考虑为 UnrealScript 制作一个,但遇到了一些奇怪的问题,例如CodeBinaryOperatorType不包含异或运算。.NET 4 中的新表达式树似乎更好地表示了 CodeDom 应该在块级别提供哪些功能(如在组成函数体的语句块中)。

我认为我们需要一个新的 CodeDom,它采用 System.CodeDom 的外部部分并使用 System.Linq.Expressions 的内部。然后使结果能够生成动态程序集或源代码作为输出。(现在我想起来了,生成一个编译的程序集实际上与创建一个新的“语言”来输出源代码是一样的。)

编辑:最重要的是,您还必须考虑实现CodeModel API,因为 CodeDom 通常是在有人将新语言集成到 Visual Studio 时实现的。

于 2010-01-18T06:08:22.193 回答