Método ITextTemplatingEngineHost.ResolveDirectiveProcessor

Retorna o tipo de processador de diretriz, dado seu nome amigável.

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

Sintaxe

'Declaração
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
    O nome do processador de diretriz sejam resolvidos.

Valor de retorno

Tipo: System.Type
O Type do processador de diretriz.

Comentários

O mecanismo chama esse método com base em diretivas de que usuário tiver especificado no modelo de texto. Esse método pode ser chamado de 0, 1 ou várias vezes, para cada transformação do modelo de texto. Para obter mais informações, consulte T4 Diretivas de modelo de texto.

Se o nome do processador de diretriz não pode ser resolvido, esse método deve acionar uma exceção.

Se o mecanismo que o host o utiliza para localizar um processador de diretriz no método ResolveDirectiveProcessor é não seguro, poderia ser um processador de diretriz mal-intencionado executar. O processador de diretriz mal-intencionado poderia fornecer código que é executado no modo de confiança total, quando o modelo é executado. Se você criar um host personalizado, você deve usar um mecanismo seguro, como o registro para localizar os processadores de diretriz. Para obter mais informações, consulte Segurança dos modelos de texto.

Exemplos

O exemplo de código a seguir mostra uma implementação possível para um host personalizado. Este exemplo de código é parte de um exemplo maior, que é fornecido para o ITextTemplatingEngineHost interface.

Para um exemplo mais detalhado que mostra como resolver uma solicitação para um processador de diretriz gerado, consulte Walkthrough: Connecting a Host to a Generated Directive Processor.

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

Segurança do .NET Framework

Consulte também

Referência

ITextTemplatingEngineHost Interface

Namespace Microsoft.VisualStudio.TextTemplating

ResolveAssemblyReference

ResolveFileName(String)

Outros recursos

Demonstra Passo a passo: A criação de um Host de modelo de texto personalizado

Segurança dos modelos de texto