Metodo RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode
Se sottoposto a override in una classe derivata, aggiunge codice al codice di inizializzazione della classe Transformation generata. Questo codice viene aggiunto prima dell'inizializzazione della classe base.
Spazio dei nomi: Microsoft.VisualStudio.TextTemplating
Assembly: Microsoft.VisualStudio.TextTemplating.10.0 (in Microsoft.VisualStudio.TextTemplating.10.0.dll)
Sintassi
'Dichiarazione
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>
)
Parametri
- directiveName
Tipo: System.String
Nome della direttiva.
- codeBuffer
Tipo: System.Text.StringBuilder
Buffer che concatena il codice che tutti i processori di direttiva devono eseguire prima dell'inizializzazione della classe base durante un'elaborazione.Il codice che questo processore di direttiva deve eseguire per questa direttiva prima dell'inizializzazione della classe base deve essere concatenato a questo buffer.
- languageProvider
Tipo: System.CodeDom.Compiler.CodeDomProvider
Generatore di codice che crea il codice da aggiungere a codebuffer.
- requiresArguments
Tipo: System.Collections.Generic.IDictionary<String, String>
Parametri standard richiesti dal processore di direttiva.
- providesArguments
Tipo: System.Collections.Generic.IDictionary<String, String>
Parametri standard forniti dal processore di direttiva.
Note
Poiché GenerateTransformCode può aggiungere metodi alla classe di trasformazione generata, il codice di inizializzazione spesso è necessario per chiamare quei metodi.
Questo metodo viene chiamato una volta per ciascuna direttiva elaborata da questo processore. Pertanto, è possibile aggiungere il codice per ogni direttiva a codeBuffer. GetPreInitializationCodeForProcessingRun restituisce il contenuto di codeBuffer dopo che sono state elaborate tutte le direttive.
Questo metodo viene chiamato da ProcessDirective.
Esempi
In questo esempio viene generato codice che viene eseguito prima dell'inizializzazione della classe di base. Questo esempio fa parte di un esempio più esaustivo relativo alla 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.
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
RequiresProvidesDirectiveProcessor Classe
Spazio dei nomi Microsoft.VisualStudio.TextTemplating