Metoda RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode —
Po zastąpieniu w klasie pochodnej, dodaje kod do kodu inicjowania klasy wygenerowany transformacji.Ten kod jest dodawane przed zainicjowaniem klasy podstawowej.
Przestrzeń nazw: Microsoft.VisualStudio.TextTemplating
Zestaw: Microsoft.VisualStudio.TextTemplating.12.0 (w Microsoft.VisualStudio.TextTemplating.12.0.dll)
Składnia
'Deklaracja
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>
)
Parametry
directiveName
Typ: StringNazwa dyrektywy.
codeBuffer
Typ: StringBuilderBufor, który łączy kod, który wszystkie procesory w dyrektywie należy uruchomić przed klasy podstawowej jest inicjowany podczas przetwarzania, uruchom.Wszelki kod, który należy uruchomić tego procesora w dyrektywie do celów niniejszej dyrektywy, przed zainicjowaniem klasy podstawowej powinna zostać dołączona do tego buforu.
languageProvider
Typ: CodeDomProviderGenerator kodu, który tworzy kod, aby dodać do codebuffer.
requiresArguments
Typ: IDictionary<String, String>Standardowe parametry, których wymaga procesor dyrektywy.
providesArguments
Typ: IDictionary<String, String>Standardowe parametry, które zapewnia procesor dyrektywy.
Uwagi
Ponieważ GenerateTransformCode można dodawać metody do klasy transformacji wygenerowany kod inicjujący często jest niezbędny do wywoływania jednej z tych metod.
Ta metoda jest wywoływana raz dla każdej dyrektywy, która przetwarza tego procesora.W związku z tym, można dołączyć kod dla każdej dyrektywy do codeBuffer.GetPreInitializationCodeForProcessingRunZwraca zawartość codeBuffer po przetworzeniu wszystkich dyrektyw.
Metoda ta jest wywoływana przez ProcessDirective.
Przykłady
W tym przykładzie generuje kod, który jest uruchamiany przed zainicjowaniem klasy podstawowej.W tym przykładzie jest częścią większej przykład dla RequiresProvidesDirectiveProcessor klasy.
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.
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
RequiresProvidesDirectiveProcessor Klasa
Przestrzeń nazw Microsoft.VisualStudio.TextTemplating