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
- directiveName
Tipo: System.String
Nombre de la directiva.
- 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.
- languageProvider
Tipo: System.CodeDom.Compiler.CodeDomProvider
El generador de código que crea el código que se va a agregar a codebuffer
- requiresArguments
Tipo: System.Collections.Generic.IDictionary<String, String>
Los parámetros estándar que requiere el procesador de directivas.
- providesArguments
Tipo: System.Collections.Generic.IDictionary<String, String>
Los parámetros estándar que proporciona el procesador de directivas.
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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
RequiresProvidesDirectiveProcessor Clase
Microsoft.VisualStudio.TextTemplating (Espacio de nombres)