Описание тега codedom

CodeDOM - это структура, которая может использоваться для создания (абстрактного) дерева выражений, представляющего реальные структуры кода (например, классы, операторы и т. Д.) Независимым от языка способом. Это означает, что если вы построите дерево выражений, вы можете использовать (или написать) генераторы кода для вывода одной и той же логической структуры на нескольких разных целевых языках. Генераторы языков существуют для VB.NET, C# и JScript, но вы также можете создать свои собственные.

Что такое CodeDOM?

CodeDOM - это.NET-библиотека от Microsoft, которая:

  • Дает возможность представить исходный код как объекты выражения

  • Предоставляет несколько встроенных генераторов для преобразования выражений в исходный код.

  • Упрощает компиляцию сгенерированного исходного кода в исполняемый код

Вот отрывок из MSDN, описывающий CodeDOM:

CodeDOM предоставляет типы, которые представляют многие общие типы элементов исходного кода. Вы можете разработать программу, которая строит модель исходного кода, используя элементы CodeDOM для сборки графа объектов. Этот граф объектов можно отобразить как исходный код с помощью генератора кода CodeDOM для поддерживаемого языка программирования. CodeDOM также можно использовать для компиляции исходного кода в двоичную сборку.

Вот некоторые распространенные варианты использования CodeDOM:

  • Создание шаблонного кода: создание кода для клиентских прокси-серверов ASP.NET, веб-служб XML, мастеров кода, конструкторов или других механизмов создания кода.

  • Динамическая компиляция: поддержка компиляции кода на одном или нескольких языках.

Если вы посмотрите на CodeDOM, вы, вероятно, много столкнетесь с абстрактными синтаксическими деревьями (AST). Это технический термин для дерева выражений в данном контексте (происходящий от способа написания генераторов кода, парсеров и компиляторов). Если вы планируете попасть в CodeDOM, это поможет понять основную концепцию; В Википедии есть разумная статья на эту тему.

В каких вопросах следует использовать этот тег?

Этот тег следует использовать в вопросах, если они касаются использования, понимания или взаимодействия с библиотекой CodeDOM. Его также можно использовать в вопросах, связанных с генерацией кода с использованием стратегии объектной модели документа (DOM), аналогичной той, что предоставляется библиотекой Microsoft CodeDOM.

Дальнейшее чтение