Udostępnij za pośrednictwem


Kod generacji i szablony tekst T4

W Visual Studio, T4 tekst szablonu jest mieszaniną bloki tekstu i logiki kontroli, która może wygenerować plik tekstowy.Logika formantu jest zapisywana jako fragmenty kodu programu w Visual C# lub Visual Basic. Wygenerowany plik może być tekst dowolnego rodzaju, takich jak strony sieci Web lub pliku zasobów lub kod źródłowy programu w dowolnym języku.

Istnieją dwa rodzaje szablonów tekst T4:

  • Uruchamianie szablonów tekst T4 czasu ('preprocessed' szablony) są wykonywane w aplikacji do wyprodukowania ciągi tekstowe, zazwyczaj jako część swojej produkcji.
    Na przykład można utworzyć szablon, aby zdefiniować stronę HTML:

    <html><body>
     The date and time now is: <#= DateTime.Now #>
    </body></html>
    

    Należy zauważyć, że szablon jest podobna do wygenerowanych danych wyjściowych.Podobieństwo szablon, aby dane wyjściowe pomaga uniknąć błędów, gdy chce ją zmienić.

    Ponadto szablon zawiera fragmenty kodu programu.Aby powtórzyć fragmentów tekstu, aby sekcje warunkowe i umożliwia wyświetlanie danych z aplikacji, można użyć tych fragmentów.

    Do generowania danych wyjściowych, aplikacja wywołuje funkcję, która jest generowana przez szablon.Na przykład:

    string webResponseText = new MyTemplate().TransformText();
    

    Aplikację można uruchomić na komputerze, który nie ma Visual Studio zainstalowane.

    Aby utworzyć szablon run-time, należy dodać Preprocessed tekst szablonu plik do projektu.Alternatywnie, można dodać plik tekstowy i ustawić jego Niestandardowego narzędzia właściwość, aby TextTemplatingFilePreprocessor.

    Aby uzyskać więcej informacji, zobacz Generowanie tekstu Run-Time z szablonami tekst T4.Aby uzyskać więcej informacji na temat składni szablonów, zobacz Zapisywanie szablonu tekst T4.

  • Podczas projektowania T4 tekst szablony są wykonywane w Visual Studio do definiowania części kodu źródłowego i innych zasobów aplikacji.
    Zazwyczaj będzie korzystać kilka szablonów, które odczytuje dane w jednym pliku wejściowego lub bazy danych i wygenerować niektóre sieci .cs, .vb, lub inne pliki źródłowe.Każdy szablon generuje jeden plik.Są one wykonywane w ciągu Visual Studio lub MSBuild.

    Na przykład danych wejściowych może być plik XML danych konfiguracji.Przy każdej edycji pliku XML podczas rozwoju, szablony tekst będzie ponownie wygenerować części kodu aplikacji.Jeden z szablonów można podobne do następujących:

    <#@ output extension=".txt" #>
    <#@ assembly name="System.Xml" #>
    <#
     System.Xml.XmlDocument configurationData = ...; // Read a data file here.
    #>
    namespace Fabrikam.<#= configurationData.SelectSingleNode("jobName").Value #>
    {
      ... // More code here. 
    }
    

    Zależne od wartości w pliku XML, wygenerowane .cs plik będzie przypominała następującą:

    namespace Fabrikam.FirstJob
    {
      ... // More code here. 
    }
    

    Inny przykład danych wejściowych może być diagramu przepływu pracy w działalności gospodarczej.Gdy użytkownicy zmienią ich biznesowy przepływ pracy lub rozpoczęcia pracy z nowych użytkowników, którzy mają różne przepływu pracy, jest łatwe do generowania kodu, aby dopasować nowy model.

    Szablony w czasie projektowania ułatwiają szybsze i bardziej niezawodne, aby zmienić konfigurację po zmienić wymagania.Zazwyczaj dane wejściowe jest definiowane w kategoriach wymagań biznesowych, tak jak w przykładzie przepływu pracy.Dzięki temu łatwiejsze do omówienia zmiany z użytkowników.Szablony w czasie projektowania są więc użytecznym narzędziem w procesie rozwoju agile.

    Aby utworzyć szablon czasu projektowania, należy dodać Tekst szablonu plik do projektu.Alternatywnie, można dodać plik tekstowy i ustawić jego Niestandardowego narzędzia właściwość, aby TextTemplatingFileGenerator.

    Aby uzyskać więcej informacji, zobacz Generowanie kodu czasu projektowania przy użyciu szablonów tekst T4.Aby uzyskać więcej informacji na temat składni szablonów, zobacz Zapisywanie szablonu tekst T4.

[!UWAGA]

Określenie model czasem jest używany do opisu dane odczytane przez jeden lub więcej szablonów.Model może być w dowolnym formacie, w dowolny rodzaj pliku lub bazy danych.Nie ma być UML model lub model domeny specyficzne dla języka. 'Model "tylko wskazuje, że z punktu widzenia koncepcje biznesowe można zdefiniować dane, zamiast kodu przypominającą.

Funkcja przekształcenie tekstu szablonu o nazwie T4.

W tej sekcji

Zobacz też

Koncepcje

Jak: generowanie plików z modelu UML

Inne zasoby

Generowanie kodu w języku specyficzne dla domeny