Compartir a través de


RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode (Método)

Cuando se reemplaza en una clase derivada, agrega el código al código de inicialización de la clase de transformación generada.Este código se agrega antes de inicializarse la clase base.

Espacio de nombres:  Microsoft.VisualStudio.TextTemplating
Ensamblado:  Microsoft.VisualStudio.TextTemplating.11.0 (en Microsoft.VisualStudio.TextTemplating.11.0.dll)

Sintaxis

'Declaración
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

  • codeBuffer
    Tipo: System.Text.StringBuilder
    El búfer que concatena el código que todos los procesadores de directivas deben ejecutar antes de inicializarse la clase base durante una ejecución de procesamiento.Cualquier código que este procesador de directivas debe ejecutar para esta directiva antes de inicializarse la clase base debe estar concatenado a este búfer.

Comentarios

Dado que GenerateTransformCode puede agregar los métodos a la clase de transformación generada, se suele requerir que el código de inicialización llame a esos métodos.

Se llama a este método una vez por cada directiva que este procesador procesa.Por consiguiente, puede anexar el código para cada directiva a codeBuffer.GetPreInitializationCodeForProcessingRun devuelve el contenido de codeBuffer una vez procesadas todas las directivas.

ProcessDirective llama a este método.

Ejemplos

En este ejemplo se genera código que se ejecuta antes de inicializar la clase base.Este ejemplo forma parte de un ejemplo más extenso de la clase 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.
}
}

Seguridad de .NET Framework

Vea también

Referencia

RequiresProvidesDirectiveProcessor Clase

Microsoft.VisualStudio.TextTemplating (Espacio de nombres)

GeneratePostInitializationCode

GenerateTransformCode

ProcessDirective

GetPreInitializationCodeForProcessingRun