Share via


Modelos de texto T4 e de geração de código

Em Visual Studio, um modelo de texto T4 é uma mistura de blocos de texto e a lógica de controle que pode gerar um arquivo de texto. A lógica de controle é escrita como fragmentos de código de programa em Visual C# ou Visual Basic. O arquivo gerado pode ser um texto de qualquer tipo, como, por exemplo, uma página da Web ou um arquivo de recurso, ou o programa de código-fonte em qualquer idioma.

Há dois tipos de modelos de texto T4:

  • Modelos de texto T4 de tempo de execução ('pré-processado' modelos) são executados em seu aplicativo para produzir seqüências de caracteres de texto, geralmente como parte de sua saída.
    Por exemplo, você poderia criar um modelo para definir uma página HTML:

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

    Observe que o modelo se assemelha a saída gerada. A semelhança do modelo para a saída resultante ajuda a evitar erros quando você desejar alterá-la.

    Além disso, o modelo contém fragmentos de código de programa. Você pode usar esses fragmentos para repetir a seções de texto, para tornar as seções condicionais e para mostrar dados de seu aplicativo.

    Para gerar a saída, o aplicativo chama uma função que é gerada pelo modelo. Por exemplo:

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

    Seu aplicativo pode ser executado em um computador que não tem Visual Studio instalado.

    Para criar um modelo de tempo de execução, adicione um modelo de texto de pré-processado o arquivo ao seu projeto. Como alternativa, você pode adicionar um arquivo de texto sem formatação e definir suas Ferramenta personalizada propriedade para TextTemplatingFilePreprocessor.

    Para obter mais informações, consulte Geração de texto de tempo de execução usando os modelos de texto T4. Para obter mais informações sobre a sintaxe de modelos, consulte Escrever um modelo de texto T4.

  • Modelos de texto T4 de tempo de design são executados na Visual Studio para definir a parte do código-fonte e outros recursos do seu aplicativo.
    Normalmente você usaria vários modelos de ler os dados em um único arquivo de entrada ou de um banco de dados e gerar alguns dos seus .cs, .vb, ou outros arquivos de origem. Cada modelo gera um arquivo. Eles são executados dentro de Visual Studio ou MSBuild.

    Por exemplo, os dados de entrada podem ser um arquivo XML de dados de configuração. Sempre que você edite o arquivo XML durante o desenvolvimento, os modelos de texto seriam regenerar a parte do código do aplicativo. Um dos modelos poderia se parecer com o exemplo a seguir:

    <#@ 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. 
    }
    

    Os valores no arquivo XML gerado dependentes .cs arquivo é semelhante a seguinte:

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

    Como outro exemplo, a entrada pode ser um diagrama de fluxo de trabalho em uma atividade de negócios. Quando os usuários alterar o seu fluxo de trabalho de negócios, ou quando você começa a trabalhar com novos usuários que têm um fluxo de trabalho diferente, é fácil de gerar o código para ajustar o novo modelo.

    Modelos de tempo de design tornam mais rápido e confiável para alterar a configuração quando as necessidades mudam. Normalmente, a entrada é definida em termos de requisitos de negócios, como no exemplo de fluxo de trabalho. Isso facilita discutir as alterações com os usuários. Os modelos de tempo de design, portanto, são uma ferramenta útil em um processo de desenvolvimento ágil.

    Para criar um modelo de tempo de design, adicione um O modelo de texto o arquivo ao seu projeto. Como alternativa, você pode adicionar um arquivo de texto sem formatação e definir suas Ferramenta personalizada propriedade para TextTemplatingFileGenerator.

    Para obter mais informações, consulte Geração de código de tempo de design usando modelos de texto T4. Para obter mais informações sobre a sintaxe de modelos, consulte Escrever um modelo de texto T4.

ObservaçãoObservação

O termo modelo às vezes é usado para descrever dados lidos por um ou mais modelos. O modelo pode estar em qualquer formato, em qualquer tipo de arquivo ou banco de dados. Ele não tem de ser um modelo de linguagem específica de domínio ou de um modelo UML. ' Modelo ' apenas indica que os dados podem ser definidos em termos de conceitos de negócios, em vez de parecidos com o código.

O recurso de transformação do modelo de texto chamado T4.

Nesta seção

Consulte também

Conceitos

Como: Gerar arquivos a partir de um modelo UML

Outros recursos

Using Text Templates in Domain-Specific Language Solutions

Histórico de alterações

Date

History

Motivo

Março de 2011

Enfatize a diferença entre os modelos de tempo de execução e tempo de design.

Comentários do cliente.