Compartir a través de


RequiresProvidesDirectiveProcessor.GenerateTransformCode (Método)

Cuando se reemplaza en una clase derivada, agrega el código a la clase de transformación generada.

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 GenerateTransformCode ( _
    directiveName As String, _
    codeBuffer As StringBuilder, _
    languageProvider As CodeDomProvider, _
    requiresArguments As IDictionary(Of String, String), _
    providesArguments As IDictionary(Of String, String) _
)
protected abstract void GenerateTransformCode(
    string directiveName,
    StringBuilder codeBuffer,
    CodeDomProvider languageProvider,
    IDictionary<string, string> requiresArguments,
    IDictionary<string, string> providesArguments
)
protected:
virtual void GenerateTransformCode(
    String^ directiveName, 
    StringBuilder^ codeBuffer, 
    CodeDomProvider^ languageProvider, 
    IDictionary<String^, String^>^ requiresArguments, 
    IDictionary<String^, String^>^ providesArguments
) abstract
abstract GenerateTransformCode : 
        directiveName:string * 
        codeBuffer:StringBuilder * 
        languageProvider:CodeDomProvider * 
        requiresArguments:IDictionary<string, string> * 
        providesArguments:IDictionary<string, string> -> unit 
protected abstract function GenerateTransformCode(
    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 este procesador de directivas agrega a la clase de transformación generada durante una ejecución de procesamiento.

Comentarios

ProcessDirective llama a esto.

Ejemplos

En este ejemplo se genera código para el procesador de directivas.Este ejemplo de código forma parte de un ejemplo más extenso proporcionado para la clase RequiresProvidesDirectiveProcessor.

protected override void GenerateTransformCode(string directiveName, StringBuilder codeBuffer, System.CodeDom.Compiler.CodeDomProvider languageProvider, IDictionary<string, string> requiresArguments, IDictionary<string, string> providesArguments)
{
// Write code to create a property backed by a field of type XmlDocument.
// The property is named "Dom" by default but the template writer may have changed the name using a custom provides clause like 'provides="Dom=AnotherName"'
string fieldName = providesArguments[DomProvidedParameterName].ToLower(CultureInfo.InvariantCulture) + "Value";
string propertyName = providesArguments[DomProvidedParameterName];
codeBuffer.Append(
"XmlDocument " + fieldName + ";" +
"XmlDocument " + propertyName +
"{ get { return this." + fieldName + "; } }");
}

Seguridad de .NET Framework

Vea también

Referencia

RequiresProvidesDirectiveProcessor Clase

Microsoft.VisualStudio.TextTemplating (Espacio de nombres)

GeneratePreInitializationCode

GeneratePostInitializationCode

ProcessDirective