Partager via


ITextTemplatingEngineHost.ResolveDirectiveProcessor, méthode

Retourne le type d'un processeur de directive, étant donné son nom convivial.

Espace de noms :  Microsoft.VisualStudio.TextTemplating
Assembly :  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (dans Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Syntaxe

'Déclaration
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

Paramètres

  • processorName
    Type : System.String
    Nom du processeur de directive à résoudre.

Valeur de retour

Type : System.Type
Type du processeur de directive.

Notes

Le moteur appelle cette méthode en fonction des directives que l'utilisateur a spécifiées dans le modèle de texte.Cette méthode peut être appelée plusieurs fois, 1 fois ou 0 fois pour chaque transformation du modèle de texte.Pour plus d'informations, consultez Directives de modèles de texte T4.

Si le nom de processeur de directive ne peut pas être résolu, cette méthode doit lever une exception.

Si le mécanisme que l'hôte utilise pour rechercher un processeur de directive dans la méthode ResolveDirectiveProcessor n'est pas sécurisé, un processeur de directive malveillant risque d'être exécuté.Le processeur de directive malveillant pourrait fournir du code exécuté en mode de confiance totale lorsque le modèle est exécuté.Si vous créez un hôte personnalisé, vous devez utiliser un mécanisme sécurisé, tel que le Registre, pour trouver les processeurs de directive.Pour plus d'informations, consultez Sécurité des modèles de texte.

Exemples

L'exemple de code suivant montre une implémentation possible pour un hôte personnalisé.Cet exemple de code fait partie d'un exemple plus complet fourni pour l'interface ITextTemplatingEngineHost.

Pour obtenir un exemple plus détaillé qui indique comment résoudre une demande pour un processeur de directive généré, consultez Procédure pas à pas : connexion d'un hôte à un processeur de directive généré.

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

Sécurité .NET Framework

Voir aussi

Référence

ITextTemplatingEngineHost Interface

Microsoft.VisualStudio.TextTemplating, espace de noms

ResolveAssemblyReference

ResolveFileName

Autres ressources

Procédure pas à pas : création d'un hôte de modèle de texte personnalisé

Sécurité des modèles de texte