Partager via


RequiresProvidesDirectiveProcessor.GenerateTransformCode, méthode

En cas de substitution dans une classe dérivée, ajoute du code à la classe de transformation générée.

Espace de noms :  Microsoft.VisualStudio.TextTemplating
Assembly :  Microsoft.VisualStudio.TextTemplating.12.0 (dans Microsoft.VisualStudio.TextTemplating.12.0.dll)

Syntaxe

'Déclaration
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>
)

Paramètres

  • directiveName
    Type : String

    Nom de la directive.

  • codeBuffer
    Type : StringBuilder

    Mémoire tampon qui concatène le code que ce processeur de directive ajoute à la classe de transformation générée lors d'une série de traitement.

  • languageProvider
    Type : CodeDomProvider

    Générateur de code qui crée le code à ajouter à codeBuffer.

  • requiresArguments
    Type : IDictionary<String, String>

    Paramètres standard requis par le processeur de directive.

  • providesArguments
    Type : IDictionary<String, String>

    Paramètres standard fournis par le processeur de directive.

Notes

Cela est appelé par ProcessDirective.

Exemples

Cet exemple génère du code pour le processeur de directive. Cet exemple de code fait partie d'un exemple plus complet fourni pour 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 + "; } }");
}

Sécurité .NET Framework

Voir aussi

Référence

RequiresProvidesDirectiveProcessor Classe

Microsoft.VisualStudio.TextTemplating, espace de noms

GeneratePreInitializationCode

GeneratePostInitializationCode

ProcessDirective