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
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
ITextTemplatingEngineHost Schnittstelle
Microsoft.VisualStudio.TextTemplating-Namespace
ResolveFileName(String)
Weitere Ressourcen
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Textvorlagenhosts