TraceListener.GetSupportedAttributes Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die vom Ablaufverfolgungslistener unterstützten benutzerdefinierten Attribute ab.
protected:
virtual cli::array <System::String ^> ^ GetSupportedAttributes();
protected public:
virtual cli::array <System::String ^> ^ GetSupportedAttributes();
protected virtual string[]? GetSupportedAttributes ();
protected virtual string[] GetSupportedAttributes ();
protected internal virtual string[] GetSupportedAttributes ();
abstract member GetSupportedAttributes : unit -> string[]
override this.GetSupportedAttributes : unit -> string[]
Protected Overridable Function GetSupportedAttributes () As String()
Protected Friend Overridable Function GetSupportedAttributes () As String()
Gibt zurück
Ein Zeichenfolgenarray, das die vom Ablaufverfolgungslistener unterstützten benutzerdefinierten Attribute benennt, oder null
, wenn es keine benutzerdefinierten Attribute gibt.
Beispiele
Das folgende Codebeispiel zeigt eine Überschreibung der GetSupportedAttributes -Methode für einen benutzerdefinierten Ablaufverfolgungslistener.
// This code example uses the following application configuration file:
//<?xml version="1.0" encoding="utf-8"?>
// <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
// <add name="Testlistener" />
// <add name="SourceSwitch" value="Warning" />
// <add name="Testlistener" type="CustomTraceListener.TestListener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" initializeData="TestListener" Source="test"/>
// <trace autoflush="true" indentsize="4" />
using System;
using System.Diagnostics;
using System.Configuration;
using System.Reflection;
using System.Collections;
namespace CustomTraceListener
{
class Program
{
static void Main(string[] args)
{
TraceSource ts = new TraceSource("TraceTest");
Console.WriteLine(ts.Switch.DisplayName);
foreach (TraceListener traceListener in ts.Listeners)
{
Console.Write("TraceListener: " + traceListener.Name + "\t");
// The following output can be used to update the configuration file.
Console.WriteLine("AssemblyQualifiedName = " +
(traceListener.GetType().AssemblyQualifiedName));
}
ts.TraceEvent(TraceEventType.Error, 1, "test error message");
}
}
public class TestListener : TraceListener
{
string source;
string name;
public TestListener(string listenerName)
{
name = listenerName;
}
public string Source
{
get
{
foreach (DictionaryEntry de in this.Attributes)
if (de.Key.ToString().ToLower() == "source")
source = de.Value.ToString();
return source;
}
set { source = value; }
}
public override void Write(string s)
{
Console.Write(name + " " + Source + ": " + s);
}
public override void WriteLine(string s)
{
Console.WriteLine(s);
}
protected override string[] GetSupportedAttributes()
{
return new string[] { "Source" };
}
}
}
// This code example creates the following output:
/*
SourceSwitch
TraceListener: Default AssemblyQualifiedName = System.Diagnostics.DefaultTraceL
istener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0
89
TraceListener: Testlistener AssemblyQualifiedName = CustomTraceListener.Test
Listener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=
null
TestListener test: TraceTest Error: 1 : test error message
*/
' This code example uses the following application configuration file:
'<?xml version="1.0" encoding="utf-8"?>
' <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
' <add name="Testlistener" />
' <add name="SourceSwitch" value="Warning" />
' <add name="Testlistener" type="CustomTraceListener.TestListener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" initializeData="TestListener" Source="test"/>
' <trace autoflush="true" indentsize="4" />
Imports System.Diagnostics
Imports System.Configuration
Imports System.Reflection
Imports System.Collections
Namespace CustomTraceListener
Class Program
Shared Sub Main(ByVal args() As String)
Dim ts As New TraceSource("TraceTest")
Console.WriteLine(ts.Switch.DisplayName)
Dim traceListener As TraceListener
For Each traceListener In ts.Listeners
Console.Write("TraceListener: " + traceListener.Name + vbTab)
' The following output can be used to update the configuration file.
Console.WriteLine("AssemblyQualifiedName = " + traceListener.GetType().AssemblyQualifiedName)
Next traceListener
ts.TraceEvent(TraceEventType.Error, 1, "test error message")
End Sub
End Class
Public Class TestListener
Inherits TraceListener
Private [m_source] As String
Private m_name As String
Public Sub New(ByVal listenerName As String)
m_name = listenerName
End Sub
Public Property [Source]() As String
Get
Dim de As DictionaryEntry
For Each de In Me.Attributes
If de.Key.ToString().ToLower() = "source" Then
[Source] = de.Value.ToString()
End If
Next de
Return [m_source]
End Get
Set(ByVal value As String)
[m_source] = value
End Set
End Property
Public Overrides Sub Write(ByVal s As String)
Console.Write(m_name + " " + [Source] + ": " + s)
End Sub
Public Overrides Sub WriteLine(ByVal s As String)
Console.WriteLine(s)
End Sub
Protected Overrides Function GetSupportedAttributes() As String()
Return New String() {"Source"}
End Function 'GetSupportedAttributes
End Class
End Namespace 'CustomTraceListener
' This code example creates the following output:
'
'SourceSwitch
'TraceListener: Default AssemblyQualifiedName = System.Diagnostics.DefaultTraceL
'istener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0
'89
'TraceListener: Testlistener AssemblyQualifiedName = CustomTraceListener.Test
'Listener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=
'null
'TestListener test: TraceTest Error: 1 : test error message
'
Hinweise
Die Standardimplementierung für GetSupportedAttributes gibt zurück null
.
Hinweise für Vererber
Wenn Sie von der TraceListener -Klasse oder einer abgeleiteten Klasse erben, können Sie die GetSupportedAttributes() -Methode überschreiben, um benutzerdefinierte Attribute für Ihre Klasse bereitzustellen.