Método RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode
Quando substituído em uma classe derivada, adiciona código para o código de inicialização da classe gerada de transformação.Esse código é adicionado antes que a classe base seja inicializada.
Namespace: Microsoft.VisualStudio.TextTemplating
Assembly: Microsoft.VisualStudio.TextTemplating.11.0 (em Microsoft.VisualStudio.TextTemplating.11.0.dll)
Sintaxe
'Declaração
Protected MustOverride Sub GeneratePreInitializationCode ( _
directiveName As String, _
codeBuffer As StringBuilder, _
languageProvider As CodeDomProvider, _
requiresArguments As IDictionary(Of String, String), _
providesArguments As IDictionary(Of String, String) _
)
protected abstract void GeneratePreInitializationCode(
string directiveName,
StringBuilder codeBuffer,
CodeDomProvider languageProvider,
IDictionary<string, string> requiresArguments,
IDictionary<string, string> providesArguments
)
protected:
virtual void GeneratePreInitializationCode(
String^ directiveName,
StringBuilder^ codeBuffer,
CodeDomProvider^ languageProvider,
IDictionary<String^, String^>^ requiresArguments,
IDictionary<String^, String^>^ providesArguments
) abstract
abstract GeneratePreInitializationCode :
directiveName:string *
codeBuffer:StringBuilder *
languageProvider:CodeDomProvider *
requiresArguments:IDictionary<string, string> *
providesArguments:IDictionary<string, string> -> unit
protected abstract function GeneratePreInitializationCode(
directiveName : String,
codeBuffer : StringBuilder,
languageProvider : CodeDomProvider,
requiresArguments : IDictionary<String, String>,
providesArguments : IDictionary<String, String>
)
Parâmetros
- directiveName
Tipo: System.String
O nome da diretiva.
- codeBuffer
Tipo: System.Text.StringBuilder
O buffer que concatena o código que todos os processadores de diretriz devem executar antes da classe base é inicializado durante o processamento de executar.Qualquer código que o processador de diretriz deve executar para essa diretiva, antes que a classe base seja inicializada deve ser concatenado a esse buffer.
- languageProvider
Tipo: System.CodeDom.Compiler.CodeDomProvider
O gerador de código que cria o código para adicionar a codebuffer.
- requiresArguments
Tipo: System.Collections.Generic.IDictionary<String, String>
Os parâmetros padrão que requer que o processador de diretriz.
- providesArguments
Tipo: System.Collections.Generic.IDictionary<String, String>
Os parâmetros padrão que o processador de diretriz fornece.
Comentários
Porque GenerateTransformCode pode adicionar métodos para a classe de transformação de gerado, código de inicialização é geralmente necessário para chamar esses métodos.
Esse método é chamado uma vez para cada diretiva que processa a este processador.Portanto, você pode acrescentar o código para cada diretiva para codeBuffer.GetPreInitializationCodeForProcessingRunRetorna o conteúdo de codeBuffer depois que todas as diretivas foram processadas.
Este método é chamado por ProcessDirective.
Exemplos
Este exemplo gera um código que é executado antes da classe base é inicializada.Este exemplo é parte de um exemplo maior para o RequiresProvidesDirectiveProcessor classe.
protected override void GeneratePreInitializationCode(string directiveName, StringBuilder codeBuffer, System.CodeDom.Compiler.CodeDomProvider languageProvider, IDictionary<string, string> requiresArguments, IDictionary<string, string> providesArguments)
{
if (StringComparer.InvariantCultureIgnoreCase.Compare(directiveName, DomDirectiveTag) == 0)
{
// Add your code for the pre-initialize stage for this processor.
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.
Consulte também
Referência
RequiresProvidesDirectiveProcessor Classe
Namespace Microsoft.VisualStudio.TextTemplating