Sdílet prostřednictvím


RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode – metoda

Při přepsání v odvozené třídě přidá kód kódem inicializace třídy vygenerované transformace.Tento kód je přidán před základní třída je inicializována.

Obor názvů:  Microsoft.VisualStudio.TextTemplating
Sestavení:  Microsoft.VisualStudio.TextTemplating.12.0 (v Microsoft.VisualStudio.TextTemplating.12.0.dll)

Syntaxe

'Deklarace
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: String

    Název směrnice

  • codeBuffer
    Typ: StringBuilder

    Vyrovnávací paměti, který spojuje kód, který všechny procesory směrnice musí být spuštěn před základní třída je inicializována při zpracování, spustit.Jakýkoli kód, který tato směrnice procesoru nutné spustit pro tuto směrnici před základní třída je inicializována by zřetězeny do této vyrovnávací paměti.

  • languageProvider
    Typ: CodeDomProvider

    Generátor kódu, který vytvoří kód, který chcete přidat do codebuffer.

  • requiresArguments
    Typ: IDictionary<String, String>

    Standardní parametry, které vyžaduje procesor směrnice.

  • providesArguments
    Typ: IDictionary<String, String>

    Standardní parametry, které poskytuje procesor směrnice.

Poznámky

Vzhledem k tomu, GenerateTransformCode metody můžete přidat třídy vygenerované transformace, kód inicializace často vyžaduje volání těchto metod.

Tato metoda je volána jednou pro každou směrnici, která zpracovává tento procesor.Proto můžete přidat kód pro každou směrnici k codeBuffer.GetPreInitializationCodeForProcessingRunvrátí obsah codeBuffer po zpracování všech směrnic.

Tato metoda je volána ProcessDirective.

Příklady

Tento příklad generuje kód, který je spuštěn před základní třída je inicializována.V tomto příkladu je součástí větší příklad RequiresProvidesDirectiveProcessor třídy.

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.
}
}

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

RequiresProvidesDirectiveProcessor Třída

Microsoft.VisualStudio.TextTemplating – obor názvů

GeneratePostInitializationCode

GenerateTransformCode

ProcessDirective

GetPreInitializationCodeForProcessingRun