Condividi tramite


Metodo RequiresProvidesDirectiveProcessor.GenerateTransformCode

Se sottoposto a override in una classe derivata, aggiunge codice alla classe Transformation generata.

Spazio dei nomi:  Microsoft.VisualStudio.TextTemplating
Assembly:  Microsoft.VisualStudio.TextTemplating.12.0 (in Microsoft.VisualStudio.TextTemplating.12.0.dll)

Sintassi

'Dichiarazione
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>
)

Parametri

  • directiveName
    Tipo: String

    Nome della direttiva.

  • codeBuffer
    Tipo: StringBuilder

    Buffer che concatena il codice che questo processore di direttiva aggiunge alla classe Transformation generata durante un'elaborazione.

  • languageProvider
    Tipo: CodeDomProvider

    Generatore di codice che crea il codice da aggiungere a codeBuffer.

  • requiresArguments
    Tipo: IDictionary<String, String>

    Parametri standard richiesti dal processore di direttiva.

  • providesArguments
    Tipo: IDictionary<String, String>

    Parametri standard forniti dal processore di direttiva.

Note

Questo viene chiamato dal metodo ProcessDirective.

Esempi

In questo esempio viene generato il codice per il processore di direttiva. Questo esempio di codice fa parte di un esempio più esteso fornito per la classe 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 + "; } }");
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

RequiresProvidesDirectiveProcessor Classe

Spazio dei nomi Microsoft.VisualStudio.TextTemplating

GeneratePreInitializationCode

GeneratePostInitializationCode

ProcessDirective