ITextTemplatingEngineHost.ResolveDirectiveProcessor (Método)

Devuelve el tipo de un procesador de directivas, dado su nombre descriptivo.

Espacio de nombres:  Microsoft.VisualStudio.TextTemplating
Ensamblado:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (en Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Sintaxis

'Declaración
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

Parámetros

  • processorName
    Tipo: System.String
    El nombre del procesador de directivas que se va a resolver.

Valor devuelto

Tipo: System.Type
El objeto Type del procesador de directivas.

Comentarios

El motor llama a este método basado en las directivas que el usuario ha especificado en la plantilla de texto.Se puede llamar a este método 0, 1 o varias veces, para cada transformación de plantilla de texto.Para obtener más información, vea Directivas de plantilla de texto T4.

Si no se puede resolver el nombre del procesador de directivas, este método debería producir una excepción.

Si el mecanismo que utiliza el host para encontrar un procesador de directivas en el método ResolveDirectiveProcessor no es seguro, se podría ejecutar un procesador de directivas malintencionado.El procesador de directivas malintencionadas podría proporcionar código que se ejecuta en el modo de plena confianza cuando se ejecuta la plantilla.Si crea un host personalizado, debe utilizar un mecanismo seguro, como el Registro, para buscar los procesadores de directivas.Para obtener más información, vea Seguridad de las plantillas de texto.

Ejemplos

El ejemplo de código siguiente muestra una posible implementación para un host personalizado.Este ejemplo de código forma parte de un ejemplo más extenso relativo a la interfaz ITextTemplatingEngineHost.

Para obtener un ejemplo más detallado que muestra cómo resolver una solicitud para un procesador de directivas generado, vea Tutorial: Conectar un host a un procesador de directivas personalizadas.

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

Seguridad de .NET Framework

Vea también

Referencia

ITextTemplatingEngineHost Interfaz

Microsoft.VisualStudio.TextTemplating (Espacio de nombres)

ResolveAssemblyReference

ResolveFileName

Otros recursos

Tutorial: Crear un host de plantillas de texto personalizadas

Seguridad de las plantillas de texto