ITextTemplatingEngineHost.LogErrors - метод
Получает коллекцию ошибок и предупреждений из модуля преобразования.
Пространство имен: Microsoft.VisualStudio.TextTemplating
Сборка: Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (в Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)
Синтаксис
'Декларация
Sub LogErrors ( _
errors As CompilerErrorCollection _
)
void LogErrors(
CompilerErrorCollection errors
)
void LogErrors(
CompilerErrorCollection^ errors
)
abstract LogErrors :
errors:CompilerErrorCollection -> unit
function LogErrors(
errors : CompilerErrorCollection
)
Параметры
- errors
Тип: System.CodeDom.Compiler.CompilerErrorCollection
Объект CompilerErrorCollection, который модуль передает узлу.
Заметки
Обработчик вызывает этот метод, когда заканчивает обработку текстового шаблона, и передает все произошедшие ошибки в основное приложение. Основное приложение может решить, как отображать их. Например, основное приложение может отображать сообщения об ошибках в пользовательском интерфейсе или записывать их в файл.
Примеры
Этот метод можно вызвать из текстового шаблона. Также следует задать свойство hostspecific="true".
<#@ template hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>
<#@ import namespace="System.CodeDom.Compiler" #>
<#
string message = "test message";
this.Host.LogErrors(new CompilerErrorCollection()
{ new CompilerError(
this.Host.TemplateFile, // Identify the source of the error.
0, 0, "0", // Line, column, error ID.
message) }); // Message displayed in error window.
#>
В следующем примере кода показана возможная реализация пользовательского основного приложения. В этом примере ошибки хранятся в свойстве. Программа, создающая экземпляр пользовательского основного приложения, будет обращаться к свойству и записывать ошибки в Console. Данный пример кода является частью большего примера. Полный пример см. в разделе Пошаговое руководство. Создание пользовательского хост-класса для текстовых шаблонов.
private CompilerErrorCollection errorsValue;
public void LogErrors(CompilerErrorCollection errors)
{
errorsValue = errors;
}
Private errorsValue As CompilerErrorCollection
Public Sub LogErrors(ByVal errors As System.CodeDom.Compiler.CompilerErrorCollection) Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.LogErrors
errorsValue = errors
End Sub
В следующем примере кода показана другая возможная реализация пользовательского основного приложения. В этом примере ошибки записываются в Console немедленно.
public void LogErrors(CompilerErrorCollection errors)
{
foreach (CompilerError error in errors)
{
Console.WriteLine(error.ToString());
}
}
Public Sub LogErrors(ByVal errors As System.CodeDom.Compiler.CompilerErrorCollection) Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.LogErrors
Dim e As CompilerError
For Each e In errors
Console.WriteLine(e.ToString())
Next
End Sub
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
ITextTemplatingEngineHost Интерфейс
Microsoft.VisualStudio.TextTemplating - пространство имен
Другие ресурсы
Пошаговое руководство. Создание пользовательского хост-класса для текстовых шаблонов