Partager via


RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode, méthode

En cas de substitution dans une classe dérivée, ajoute du code au code d'initialisation de la classe de transformation générée. Ce code est ajouté avant l'initialisation de la classe de base.

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

Syntaxe

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

Paramètres

  • codeBuffer
    Type : System.Text.StringBuilder
    Mémoire tampon qui concatène le code que tous les processeurs de directive doivent exécuter avant l'initialisation de la classe de base lors d'une série de traitement.Tout code devant être exécuté par ce processeur de directive pour cette directive avant l'initialisation de la classe de base doit être concaténé dans cette mémoire tampon.

Notes

Étant donné que GenerateTransformCode peut ajouter des méthodes à la classe de transformation générée, le code d'initialisation est souvent obligatoire pour appeler ces méthodes.

Cette méthode est appelée une fois pour chaque directive que ce processeur traite. Par conséquent, vous pouvez ajouter le code pour chaque directive à codeBuffer. GetPreInitializationCodeForProcessingRun retourne le contenu de codeBuffer après que toutes les directives ont été traitées.

Cette méthode est appelée par ProcessDirective.

Exemples

Cet exemple génère le code exécuté avant que la classe de base ne soit initialisée. Cet exemple est extrait d'un exemple plus complet pour la classe 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.
}
}

Sécurité .NET Framework

Voir aussi

Référence

RequiresProvidesDirectiveProcessor Classe

Microsoft.VisualStudio.TextTemplating, espace de noms

GeneratePostInitializationCode

GenerateTransformCode

ProcessDirective

GetPreInitializationCodeForProcessingRun