Génération et compilation de code source dynamiqueDynamic Source Code Generation and Compilation

Le .NET Framework inclut un mécanisme appelé CodeDOM (Code Document Object Model) qui permet aux développeurs d’émettre du code source pour générer du code source dans plusieurs langages de programmation au moment de l’exécution, en fonction d’un modèle unique qui représente le code à restituer.The .NET Framework includes a mechanism called the Code Document Object Model (CodeDOM) that enables developers of programs that emit source code to generate source code in multiple programming languages at run time, based on a single model that represents the code to render.

Pour représenter le code source, les éléments CodeDOM sont liés entre eux pour former une structure de données appelée graphique CodeDOM, qui modélise la structure d’un code source.To represent source code, CodeDOM elements are linked to each other to form a data structure known as a CodeDOM graph, which models the structure of some source code.

L’espace de noms System.CodeDom définit les types qui peuvent représenter la structure logique du code source, indépendamment d’un langage de programmation spécifique.The System.CodeDom namespace defines types that can represent the logical structure of source code, independent of a specific programming language. L’espace de noms System.CodeDom.Compiler définit les types pour la génération du code source à partir des graphiques CodeDOM et la gestion de la compilation du code source dans les langages pris en charge.The System.CodeDom.Compiler namespace defines types for generating source code from CodeDOM graphs and managing the compilation of source code in supported languages. Les fournisseurs de compilateurs ou les développeurs peuvent étendre l’ensemble des langages pris en charge.Compiler vendors or developers can extend the set of supported languages.

La modélisation de code source indépendante du langage peut s’avérer précieuse quand un programme a besoin de générer du code source pour un modèle de programme dans plusieurs langages ou pour un langage cible indéterminé.Language-independent source code modeling can be valuable when a program needs to generate source code for a program model in multiple languages or for an uncertain target language. Par exemple, certains concepteurs utilisent le CodeDOM comme interface d’abstraction de langage pour produire du code source dans le langage de programmation approprié, si la prise en charge CodeDOM de ce langage est disponible.For example, some designers use the CodeDOM as a language abstraction interface to produce source code in the correct programming language, if CodeDOM support for the language is available.

Le .NET Framework inclut des générateurs et des compilateurs de code pour CSharpCodeProvider, JScriptCodeProvider et VBCodeProvider.The .NET Framework includes code generators and code compilers for CSharpCodeProvider, JScriptCodeProvider, and VBCodeProvider.

Dans cette sectionIn This Section

Utilisation du CodeDOMUsing the CodeDOM
Décrit les utilisations courantes et illustre la création d’un graphique d’objet simple à l’aide du CodeDOM.Describes common uses, and demonstrates building a simple object graph using the CodeDOM.

Génération de code source et compilation d’un programme à partir d’un graphique CodeDOMGenerating Source Code and Compiling a Program from a CodeDOM Graph
Décrit comment générer du code source et compiler le code généré avec un compilateur externe à l’aide de classes définies dans l’espace de noms System.CodeDom.Compiler.Describes how to generate source code and compile the generated code with an external compiler using classes defined in the System.CodeDom.Compiler namespace.

Guide pratique pour créer un fichier de documentation XML à l’aide de CodeDOMHow to: Create an XML Documentation File Using CodeDOM
Décrit comment utiliser CodeDOM pour générer du code avec des commentaires de documentation XML, et compiler le code généré afin qu’il crée la sortie de documentation XML.Describes how to use CodeDOM to generate code with XML documentation comments, and compile the generated code so that it creates the XML documentation output.

Guide pratique pour créer une classe à l’aide de CodeDOMHow to: Create a Class Using CodeDOM
Décrit comment utiliser CodeDOM pour générer une classe contenant des champs, des propriétés, une méthode, un constructeur et un point d’entrée.Describes how to use CodeDOM to generate a class containing fields, properties, a method, a constructor, and an entry point.

ReferenceReference

System.CodeDom
Définit les éléments qui représentent des éléments de code dans les langages de programmation qui ciblent le Common Language Runtime.Defines elements that represent code elements in programming languages that target the common language runtime.

System.CodeDom.Compiler
Définit les interfaces de génération et de compilation du code au moment de l’exécution.Defines interfaces for generating and compiling code at run time.

Aide-mémoire de CodeDOMCodeDOM Quick Reference
Fournit aux développeurs un moyen de trouver rapidement des éléments CodeDOM qui représentent des éléments du code source.Provides a quick way for developers to find the CodeDOM elements that represent source code elements.