Partilhar via


Método RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode

Quando substituído em uma classe derivada, adicione o código para o código de inicialização da classe gerada de transformação. Esse código é adicionado antes que a classe base é inicializada.

Namespace:  Microsoft.VisualStudio.TextTemplating
Assembly:  Microsoft.VisualStudio.TextTemplating.12.0 (em Microsoft.VisualStudio.TextTemplating.12.0.dll)

Sintaxe

'Declaração
Protected MustOverride Sub GeneratePreInitializationCode ( _
    directiveName As String, _
    codeBuffer As StringBuilder, _
    languageProvider As CodeDomProvider, _
    requiresArguments As IDictionary(Of String, String), _
    providesArguments As IDictionary(Of String, String) _
)
protected abstract void GeneratePreInitializationCode(
    string directiveName,
    StringBuilder codeBuffer,
    CodeDomProvider languageProvider,
    IDictionary<string, string> requiresArguments,
    IDictionary<string, string> providesArguments
)
protected:
virtual void GeneratePreInitializationCode(
    String^ directiveName, 
    StringBuilder^ codeBuffer, 
    CodeDomProvider^ languageProvider, 
    IDictionary<String^, String^>^ requiresArguments, 
    IDictionary<String^, String^>^ providesArguments
) abstract
abstract GeneratePreInitializationCode : 
        directiveName:string * 
        codeBuffer:StringBuilder * 
        languageProvider:CodeDomProvider * 
        requiresArguments:IDictionary<string, string> * 
        providesArguments:IDictionary<string, string> -> unit
protected abstract function GeneratePreInitializationCode(
    directiveName : String, 
    codeBuffer : StringBuilder, 
    languageProvider : CodeDomProvider, 
    requiresArguments : IDictionary<String, String>, 
    providesArguments : IDictionary<String, String>
)

Parâmetros

  • directiveName
    Tipo: String

    O nome da diretiva.

  • codeBuffer
    Tipo: StringBuilder

    O buffer que concatena o código que todos os processadores de diretiva devem executar antes que a classe base é inicializada durante a execução de processamento. Qualquer código que este processador diretivo deve executar para essa diretiva antes da classe base é inicializada deve ser concatenado a este buffer.

  • languageProvider
    Tipo: CodeDomProvider

    O gerador de código que cria o código para adicionar a codebuffer.

  • requiresArguments
    Tipo: IDictionary<String, String>

    Os parâmetros padrão que o processador de diretiva requer.

  • providesArguments
    Tipo: IDictionary<String, String>

    Os parâmetros padrão que o processador de diretiva fornece.

Comentários

Porque o GenerateTransformCode pode adicionar métodos à transformação gerado classe, código de inicialização geralmente são necessários para chamar esses métodos.

Este método é chamado uma vez para cada diretiva que processa o processador. Portanto, você pode acrescentar o código para cada diretiva a codeBuffer. oGetPreInitializationCodeForProcessingRun retorna o conteúdo de codeBuffer as diretivas depois que foram processadas.

Este método é chamado por ProcessDirective.

Exemplos

Este exemplo gerencia o código que é executado antes que a classe base é inicializada. Este exemplo é parte de um exemplo maior para a classe de RequiresProvidesDirectiveProcessor .

protected override void GeneratePreInitializationCode(string directiveName, StringBuilder codeBuffer, System.CodeDom.Compiler.CodeDomProvider languageProvider, IDictionary<string, string> requiresArguments, IDictionary<string, string> providesArguments)
{
if (StringComparer.InvariantCultureIgnoreCase.Compare(directiveName, DomDirectiveTag) == 0)
{
// Add your code for the pre-initialize stage for this processor.
}
}

Segurança do .NET Framework

Consulte também

Referência

RequiresProvidesDirectiveProcessor Classe

Namespace Microsoft.VisualStudio.TextTemplating

GeneratePostInitializationCode

GenerateTransformCode

ProcessDirective

GetPreInitializationCodeForProcessingRun