Partager via


ITextTemplatingEngineHost.LogErrors, méthode

Reçoit une collection d'erreurs et d'avertissements du moteur de transformation.

Espace de noms :  Microsoft.VisualStudio.TextTemplating
Assembly :  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (dans Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Syntaxe

'Déclaration
Sub LogErrors ( _
    errors As CompilerErrorCollection _
)
void LogErrors(
    CompilerErrorCollection errors
)
void LogErrors(
    CompilerErrorCollection^ errors
)
abstract LogErrors : 
        errors:CompilerErrorCollection -> unit 
function LogErrors(
    errors : CompilerErrorCollection
)

Paramètres

Notes

Le moteur appelle cette méthode lorsqu'il termine le traitement du modèle de texte et qu'il transmet les erreurs qui se sont produites à l'hôte. L'hôte peut décider de la manière de les afficher. Par exemple, l'hôte peut afficher les erreurs dans l'interface utilisateur ou les écrire dans un fichier.

Exemples

Vous pouvez appeler cette méthode à partir d'un modèle de texte. Vous devez définir 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.
#>

L'exemple de code suivant montre une implémentation possible pour un hôte personnalisé. Dans cet exemple, les erreurs sont stockées dans une propriété. Le programme qui instancie cet hôte personnalisé accèdera à la propriété et écrira les erreurs dans le Console. Cet exemple de code est extrait d'un exemple plus développé. Pour obtenir un exemple complet, consultez Procédure pas à pas : création d'un hôte de modèle de texte personnalisé.

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

L'exemple de code suivant montre une autre implémentation possible pour un hôte personnalisé. Dans cet exemple, les erreurs sont écrites immédiatement dans 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

Sécurité .NET Framework

Voir aussi

Référence

ITextTemplatingEngineHost Interface

Microsoft.VisualStudio.TextTemplating, espace de noms

CompilerErrorCollection

Autres ressources

Procédure pas à pas : création d'un hôte de modèle de texte personnalisé