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.11.0 (dans Microsoft.VisualStudio.TextTemplating.11.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
- directiveName
Type : System.String
Nom de la directive.
- 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.
- languageProvider
Type : System.CodeDom.Compiler.CodeDomProvider
Le générateur de code qui crée le code à ajouter à codebuffer.
- requiresArguments
Type : System.Collections.Generic.IDictionary<String, String>
Paramètres standard requis par le processeur de directive.
- providesArguments
Type : System.Collections.Generic.IDictionary<String, String>
Paramètres standard fournis par le processeur de directive.
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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
RequiresProvidesDirectiveProcessor Classe
Microsoft.VisualStudio.TextTemplating, espace de noms