Динамическое создание и компиляция исходного кода
В среду .NET Framework включен механизм, который называется моделью объектов документов кода (CodeDOM), позволяющий разработчикам программ, генерирующих исходный код, создавать код на нескольких языках программирования во время выполнения на основе единой модели, предоставляющей код для визуализации.
Для представления исходного кода элементы CodeDOM связываются друг с другом, образуя структуру данных, известную как граф CodeDOM, которая моделирует структуру некоторого исходного кода.
Пространство имен System.CodeDom определяет типы, с помощью которых логическая структура исходного кода может быть представлена независимо от конкретного языка программирования. Пространство имен System.CodeDom.Compiler определяет типы, используемые для генерации исходного кода из графов CodeDOM и для управления компиляцией исходного кода на поддерживаемых языках. Набор поддерживаемых языков может быть расширен разработчиками или поставщиками компиляторов.
Независимое от языка моделирование исходного кода может быть полезно, если программа должна создавать исходный код для модели программы на нескольких языках или если конечный язык заранее не определен. Например, некоторые конструкторы используют модель CodeDOM в качестве интерфейса абстракции от языка для получения исходного кода на требуемом языке программирования, если имеется поддержка CodeDOM для этого языка.
В платформе .NET Framework содержатся генераторы кода и компиляторы для языков C#, JScript и Visual Basic.
В этом подразделе
Использование CodeDOM
Описываются общие случаи применения, а также демонстрируется создание простого графа объектов с использованием CodeDOM.Генерация исходного кода и компиляция программы из графа CodeDOM
Описываются способы генерации исходного кода и его компиляции внешним компилятором с использованием классов, определенных в пространстве имен System.CodeDom.Compiler.Практическое руководство: создание файла XML-документации для приложения, созданного с использованием CodeDOM
Описывается использование CodeDOM для создания кода с комментариями к XML-документации и компилирования созданного кода для создания XML-документации.Практическое руководство. Создание класса с помощью CodeDOM
Описывается использование CodeDOM для создания класса, содержащего поля, свойства, метод, конструктор и точку входа.
Ссылка
System.CodeDom
Определяет элементы, представляющие элементы кода на языках программирования, предназначенных для общеязыковой среды выполнения.System.CodeDom.Compiler
Определяет интерфейсы для генерации и компиляции кода во время выполнения.
Связанные подразделы
- Краткий справочник по CodeDOM
Предоставляет разработчикам быстрый способ поиска элементов CodeDOM, представляющих элементы исходного кода.