ITextTemplatingEngineHost.ResolveDirectiveProcessor - метод
Возвращает тип процессора директив с указанным понятным именем.
Пространство имен: Microsoft.VisualStudio.TextTemplating
Сборка: Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (в Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)
Синтаксис
'Декларация
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
Параметры
- processorName
Тип: System.String
Имя процессора директив, тип которого требуется получить.
Возвращаемое значение
Тип: System.Type
Тип (Type) процессора директив.
Заметки
Обработчик вызывает этот метод на основе директив, которые пользователь указал в текстовом шаблоне. Этот метод может вызываться 0, 1 или несколько раз для каждого преобразования текстового шаблона. Дополнительные сведения см. в разделе Директивы текстовых шаблонов T4.
Если невозможно разрешить имя процессора директив, этот метод должен создать исключение.
Если механизм, который используется основным приложением для поиска процессора директив в методе ResolveDirectiveProcessor, не является безопасным, может быть запущен вредоносный процессор директив. Вредоносный процессор директив может предоставить код, который выполняется в режиме полного доверия при выполнении шаблона. При создании пользовательского основного приложения необходимо использовать безопасный механизм, такой как реестр, для обнаружения процессоров директив. Дополнительные сведения см. в разделе Безопасность текстовых шаблонов.
Примеры
В следующем примере кода показана возможная реализация пользовательского основного приложения. Данный пример кода является частью большего примера, приведенного для интерфейса ITextTemplatingEngineHost.
Более подробный пример, демонстрирующий разрешение запроса созданный директивы процессора, содержится в разделе Пошаговое руководство. Связывание основного приложения с генерируемым обработчиком директив.
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
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
ITextTemplatingEngineHost Интерфейс
Microsoft.VisualStudio.TextTemplating - пространство имен
ResolveFileName(String)
Другие ресурсы
Пошаговое руководство. Создание пользовательского хост-класса для текстовых шаблонов