RequiresProvidesDirectiveProcessor.GenerateTransformCode - метод
При переопределении в производном классе добавляет код в создаваемый класс преобразования.
Пространство имен: Microsoft.VisualStudio.TextTemplating
Сборка: Microsoft.VisualStudio.TextTemplating.12.0 (в Microsoft.VisualStudio.TextTemplating.12.0.dll)
Синтаксис
'Декларация
Protected MustOverride Sub GenerateTransformCode ( _
directiveName As String, _
codeBuffer As StringBuilder, _
languageProvider As CodeDomProvider, _
requiresArguments As IDictionary(Of String, String), _
providesArguments As IDictionary(Of String, String) _
)
protected abstract void GenerateTransformCode(
string directiveName,
StringBuilder codeBuffer,
CodeDomProvider languageProvider,
IDictionary<string, string> requiresArguments,
IDictionary<string, string> providesArguments
)
protected:
virtual void GenerateTransformCode(
String^ directiveName,
StringBuilder^ codeBuffer,
CodeDomProvider^ languageProvider,
IDictionary<String^, String^>^ requiresArguments,
IDictionary<String^, String^>^ providesArguments
) abstract
abstract GenerateTransformCode :
directiveName:string *
codeBuffer:StringBuilder *
languageProvider:CodeDomProvider *
requiresArguments:IDictionary<string, string> *
providesArguments:IDictionary<string, string> -> unit
protected abstract function GenerateTransformCode(
directiveName : String,
codeBuffer : StringBuilder,
languageProvider : CodeDomProvider,
requiresArguments : IDictionary<String, String>,
providesArguments : IDictionary<String, String>
)
Параметры
directiveName
Тип: StringИмя директивы.
codeBuffer
Тип: StringBuilderБуфер, сцепляющий код, который данный процессор директив добавляет в созданный класс преобразования во время обработки.
languageProvider
Тип: CodeDomProviderГенератор кода, создающий код для добавления в codeBuffer.
requiresArguments
Тип: IDictionary<String, String>Стандартные параметры, требуемые процессором директив.
providesArguments
Тип: IDictionary<String, String>Стандартные параметры, предоставляемые процессором директив.
Заметки
Вызывается ProcessDirective.
Примеры
В этом примере показано создание кода для процессора директивы. Этот пример кода является частью более крупного примера для класса RequiresProvidesDirectiveProcessor.
protected override void GenerateTransformCode(string directiveName, StringBuilder codeBuffer, System.CodeDom.Compiler.CodeDomProvider languageProvider, IDictionary<string, string> requiresArguments, IDictionary<string, string> providesArguments)
{
// Write code to create a property backed by a field of type XmlDocument.
// The property is named "Dom" by default but the template writer may have changed the name using a custom provides clause like 'provides="Dom=AnotherName"'
string fieldName = providesArguments[DomProvidedParameterName].ToLower(CultureInfo.InvariantCulture) + "Value";
string propertyName = providesArguments[DomProvidedParameterName];
codeBuffer.Append(
"XmlDocument " + fieldName + ";" +
"XmlDocument " + propertyName +
"{ get { return this." + fieldName + "; } }");
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
RequiresProvidesDirectiveProcessor Класс
Microsoft.VisualStudio.TextTemplating - пространство имен