Какие языки программирования .NET имеют поставщика CodeDom? - PullRequest
5 голосов
/ 18 января 2010

Помимо C #, VB.NET, C ++ (Managed и C ++ / CLI) и F #, какие языки программирования .NET имеют своего собственного поставщика CodeDom?

1 Ответ

3 голосов
/ 18 января 2010

Я думал о создании одного для UnrealScript, но я столкнулся со странными проблемами, такими как тот факт, что CodeBinaryOperatorType не включает операцию исключающего или. Новые деревья выражений в .NET 4 выглядят как намного лучшее представление функций, которые CodeDom должен предлагать на уровне блоков (как в блоке операторов, составляющих тело функции).

Я думаю, что нам нужен новый CodeDom, который принимает внешние части System.CodeDom и использует внутренние компоненты System.Linq.Expressions. Затем сделайте результат способным производить либо динамическую сборку, либо исходный код в качестве вывода. (Теперь, когда я думаю об этом, создание скомпилированной сборки будет фактически равносильно созданию нового «языка» для вывода исходного кода.)

Редактировать: Кроме того, вам также следует рассмотреть возможность реализации API CodeModel , поскольку очень часто CodeDom реализуется, когда кто-то интегрирует новый язык в Visual Studio.

...