Delen via


Dynamische broncode compileren en genereren

.NET bevat een mechanisme met de naam Code Document Object Model (CodeDOM) waarmee ontwikkelaars van programma's die broncode verzenden, broncode kunnen genereren in meerdere programmeertalen tijdens runtime, op basis van één model dat de code vertegenwoordigt die moet worden weergegeven.

Om de broncode weer te geven, worden CodeDOM-elementen aan elkaar gekoppeld om een gegevensstructuur te vormen die bekend staat als een CodeDOM-grafiek, die de structuur van een bepaalde broncode modelleren.

De System.CodeDom naamruimte definieert typen die de logische structuur van broncode kunnen vertegenwoordigen, onafhankelijk van een specifieke programmeertaal. De System.CodeDom.Compiler naamruimte definieert typen voor het genereren van broncode uit CodeDOM-grafieken en het beheren van de compilatie van broncode in ondersteunde talen. Compilerleveranciers of ontwikkelaars kunnen de set ondersteunde talen uitbreiden.

Taalonafhankelijke broncodemodellering kan waardevol zijn wanneer een programma broncode moet genereren voor een programmamodel in meerdere talen of voor een onzekere doeltaal. Sommige ontwerpers gebruiken bijvoorbeeld CodeDOM als een taalabstractieinterface om broncode te produceren in de juiste programmeertaal, als CodeDOM-ondersteuning voor de taal beschikbaar is.

.NET bevat codegeneratoren en codecompilers voor CSharpCodeProvider, JScriptCodeProvideren VBCodeProvider.

Verwijzing

  • System.CodeDom

    Definieert elementen die code-elementen vertegenwoordigen in programmeertalen die gericht zijn op de algemene taalruntime.

  • System.CodeDom.Compiler

    Definieert interfaces voor het genereren en compileren van code tijdens runtime.

  • CodeDOM Quick Reference biedt ontwikkelaars een snelle manier om de CodeDOM-elementen te vinden die broncode-elementen vertegenwoordigen.