Generera kod från ett Domain-Specific språk

Microsoft Domain-Specific Language Tools är ett kraftfullt sätt att generera kod, dokument, konfigurationsfiler och andra artefakter från data som representeras i modeller. Med hjälp av Domain-Specific Språkverktyg kan du skapa en uppsättning klasser som representerar dina data och du kan skriva textmallar i klasser vars namn och egenskaper återspeglar dessa data.

Fabrikam har till exempel en XML-fil med kundnamn och e-postadresser. Deras utvecklare skapar en modell där Kunden är en klass med egenskaperna namn och e-post. De skriver flera textmallar för att bearbeta data, inklusive det här fragmentet som skapar en tabell med alla kunder som en del av en HTML-sida:

<table>
<# foreach (Customer c in ContactList) {  #>
  <tr><td> <#= c.FullName #> </td>
      <td> <#= c.EmailAddress #> </td> </tr>
<# } #>  </table>

När kunddatabasen bearbetas läss XML-filen in i modellarkivet. En direktivprocessor som skapats med hjälp av Domain-Specific Language Tools gör kundklassen tillgänglig för koden i textmallen. Många textmallar kan köras mot samma lager.

Textmallar är viktiga för Domain-Specific Språkverktyg. De används för att generera källkoden för elementen i domänmodellen samt för VSPackage och de kontroller som används för att integrera verktygen med Visual Studio.

I det här avsnittet beskrivs några av sätten att skapa, ändra och felsöka textmallar som används i Domain-Specific Språkverktyg.

I det här avsnittet

Komma åt modeller från textmallar
Innehåller grundläggande information om att referera till domänspecifikt språk i textmallar.

Genomgång: Felsöka en textmall som har åtkomst till en modell
Beskriver hur du utför felsökning och avlusning på en textmall som refererar till ett domänspecifikt språk.

Genomgång: Ansluta en värd till en genererad direktivprocessor
Beskriver hur du ansluter en anpassad värd till en genererad direktivprocessor.

DslTextTransform-kommandot
Beskriver kommandofilen som kör körbar TextTransform på kommandoraden för textmallar som refererar till domänspecifika språk.

Hänvisning

Skriva en T4-textmall
Innehåller syntaxen för textmallsdirektiv och kontrollblock.