RequiresProvidesDirectiveProcessor.GeneratePreInitializationCode - метод
При переопределении в производном классе добавляет код в код инициализации для создаваемого класса преобразования.Этот код добавляется до инициализации базового класса.
Пространство имен: Microsoft.VisualStudio.TextTemplating
Сборка: Microsoft.VisualStudio.TextTemplating.11.0 (в Microsoft.VisualStudio.TextTemplating.11.0.dll)
Синтаксис
'Декларация
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>
)
Параметры
- directiveName
Тип: System.String
Имя директивы.
- codeBuffer
Тип: System.Text.StringBuilder
Буфер, сцепляющий код, который все процессоры директив должны выполнять до инициализации базового класса во время обработки.Любой код, который должен выполняться процессором директив для данной директивы до инициализации базового класса, должен быть сцеплен с данным буфером.
- languageProvider
Тип: System.CodeDom.Compiler.CodeDomProvider
Генератор кода, создающий код для добавления в codebuffer.
- requiresArguments
Тип: System.Collections.Generic.IDictionary<String, String>
Стандартные параметры, требуемые процессором директив.
- providesArguments
Тип: System.Collections.Generic.IDictionary<String, String>
Стандартные параметры, предоставляемые процессором директив.
Заметки
Поскольку GenerateTransformCode может добавлять методы к созданному классу преобразования, для вызова этих методов часто требуется код инициализации.
Этот метод вызывается для каждой директивы, обрабатываемой этим процессором.Таким образом можно добавить код для каждой директивы codeBuffer.GetPreInitializationCodeForProcessingRun возвращает содержимое codeBuffer после обработки всех директив.
Данный метод вызывается методом ProcessDirective.
Примеры
В этом примере показано создание кода, исполняющегося до инициализации базового класса.Данный пример кода является частью большего примера для класса RequiresProvidesDirectiveProcessor.
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.
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
RequiresProvidesDirectiveProcessor Класс
Microsoft.VisualStudio.TextTemplating - пространство имен