Condividi tramite


Metodo ITextTemplatingEngineHost.ResolveDirectiveProcessor

Restituisce il tipo di processore di direttiva, specificando il nome descrittivo.

Spazio dei nomi:  Microsoft.VisualStudio.TextTemplating
Assembly:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (in Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Sintassi

'Dichiarazione
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

Parametri

  • processorName
    Tipo: System.String
    Il nome del processore di direttiva da risolvere.

Valore restituito

Tipo: System.Type
Type il processore di direttiva.

Note

Il motore chiama questo metodo basato sulle direttive specificati nel modello di testo.Questo metodo può essere chiamato 0, 1, o più volte, per ogni trasformazione del modello di testo.Per ulteriori informazioni, vedere Direttive di modello di testo T4.

Se il nome del processore di direttiva non può essere risolto, questo metodo deve generare un'eccezione.

Se il meccanismo utilizzato dall'host per trovare un processore di direttiva nel metodo ResolveDirectiveProcessor non è sicuro, un processore di direttiva dannoso potrebbe essere eseguito.Il processore di direttiva dannoso potrebbe fornire codice che viene eseguito nella modalità di attendibilità totale quando viene eseguito il modello.Se si crea un host personalizzato, è necessario utilizzare un meccanismo sicuro, ad esempio il Registro di sistema, per individuare i processori di direttiva.Per ulteriori informazioni, vedere Sicurezza dei modelli di testo.

Esempi

Nell'esempio di codice seguente viene illustrata un'implementazione anche un host personalizzato.Questo esempio di codice fa parte di un esempio più esaustivo fornito per ITextTemplatingEngineHost interfaccia.

Per un esempio più dettagliato che illustra come risolvere una richiesta per un processore di direttiva generato, vedere Procedura dettagliata: connessione di un host a un processore di direttiva generato.

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

ITextTemplatingEngineHost Interfaccia

Spazio dei nomi Microsoft.VisualStudio.TextTemplating

ResolveAssemblyReference

ResolveFileName

Altre risorse

Procedura dettagliata: creazione di un host del modello di testo personalizzato

Sicurezza dei modelli di testo