Freigeben über


ITextTemplatingEngineHost.ResolveDirectiveProcessor-Methode

Gibt ausgehend vom Anzeigenamen den Typ eines Direktivenprozessors zurück.

Namespace:  Microsoft.VisualStudio.TextTemplating
Assembly:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (in Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Syntax

'Declaration
Function ResolveDirectiveProcessor ( _
    processorName As String _
) As Type
Type ResolveDirectiveProcessor(
    string processorName
)
Type^ ResolveDirectiveProcessor(
    String^ processorName
)
abstract ResolveDirectiveProcessor : 
        processorName:string -> Type 
function ResolveDirectiveProcessor(
    processorName : String
) : Type

Parameter

  • processorName
    Typ: System.String
    Der Name des Direktivenprozessors, der aufgelöst werden soll.

Rückgabewert

Typ: System.Type
Der Type des Direktivenprozessors.

Hinweise

Das Modul ruft diese Methode anhand der Direktiven auf, die der Benutzer in der Textvorlage angegeben hat. Diese Methode kann als 0-mal, 1-mal oder mehrmals für jede Textvorlagentransformation aufgerufen werden. Weitere Informationen finden Sie unter T4-Textvorlagendirektiven.

Wenn der Direktivenprozessorname nicht aufgelöst werden kann, sollte diese Methode eine Ausnahme auslösen.

Wenn der Mechanismus, mit dem der Host einen Direktivenprozessor in der Methode ResolveDirectiveProcessor sucht, nicht sicher ist, kann ein bösartiger Direktivenprozessor ausgeführt werden. Der böswillige Direktivenprozessor könnte Code bereitstellen, der im Modus voller Vertrauenswürdigkeit ausgeführt wird, wenn die Vorlage ausgeführt wird. Wenn Sie einen benutzerdefinierten Host erstellen, müssen Sie Direktivenprozessoren mithilfe eines sicheren Mechanismus, z. B. der Registrierung, suchen. Weitere Informationen finden Sie unter Sicherheit von Textvorlagen.

Beispiele

Im folgenden Codebeispiel wird eine mögliche Implementierung für einen benutzerdefinierten Host veranschaulicht. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die ITextTemplatingEngineHost-Schnittstelle.

Ein ausführlicheres Beispiel, das zeigt, wie eine Anforderung für einen generierten Direktivenprozessor aufgelöst wird, finden Sie unter Exemplarische Vorgehensweise: Verbinden eines Hosts mit einem generierten Direktivenprozessor.

public Type ResolveDirectiveProcessor(string processorName)
{
    //this host will not resolve any specific processors

    //check the processor name, and if it is the name of a processor the 
    //host wants to support, return the type of the processor
    //---------------------------------------------------------------------
    if (string.Compare(processorName, "XYZ", StringComparison.OrdinalIgnoreCase) == 0)
    {
        //return typeof();
    }

    //this can be customized to search specific paths for the file,
    //or to search the GAC

    //if the directive processor can not be found, throw an error
    throw new Exception("Directive Processor not found");
}
Public Function ResolveDirectiveProcessor(ByVal processorName As String) As System.Type Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.ResolveDirectiveProcessor
    'this host will not resolve any specific processors

    'check the processor name, and if it is the name of a processor the 
    'host wants to support, return the type of the processor
    '---------------------------------------------------------------------
    If String.Compare(processorName, "XYZ", StringComparison.OrdinalIgnoreCase) = 0 Then
        'return typeof()
    End If

    'this can be customized to search specific paths for the file,
    'or to search the GAC

    'if the directive processor can not be found, throw an error
    Throw New Exception("Directive Processor not found")
End Function

.NET Framework-Sicherheit

Siehe auch

Referenz

ITextTemplatingEngineHost Schnittstelle

Microsoft.VisualStudio.TextTemplating-Namespace

ResolveAssemblyReference

ResolveFileName(String)

Weitere Ressourcen

Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Textvorlagenhosts

Sicherheit von Textvorlagen