Edit

Share via


TraceSource.GetSupportedAttributes Method

Definition

Gets the custom attributes supported by the trace source.

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()

Returns

String[]

A string array naming the custom attributes supported by the trace source, or null if there are no custom attributes.

Examples

The following code example shows an override of the GetSupportedAttributes method to identify the custom attributes for the MyTraceSource class.

public class MyTraceSource : TraceSource
{
    string firstAttribute = "";
    string secondAttribute = "";
    public MyTraceSource(string n) : base(n) {}

    public string FirstTraceSourceAttribute
    {
        get {
            foreach (DictionaryEntry de in this.Attributes)
                if (de.Key.ToString().ToLower() == "firsttracesourceattribute")
                    firstAttribute = de.Value.ToString() ;
            return firstAttribute;
        }
        set { firstAttribute = value; }
    }

    public string SecondTraceSourceAttribute
    {
        get {
            foreach (DictionaryEntry de in this.Attributes)
                if (de.Key.ToString().ToLower() == "secondtracesourceattribute")
                    secondAttribute = de.Value.ToString();
            return secondAttribute; }
        set { secondAttribute = value; }
    }

    protected override string[] GetSupportedAttributes()
    {
        // Allow the use of the attributes in the configuration file.
        return new string[] { "FirstTraceSourceAttribute", "SecondTraceSourceAttribute" };
    }
}
Public Class MyTraceSource
    Inherits TraceSource
    Private firstAttribute As String = ""
    Private secondAttribute As String = ""

    Public Sub New(ByVal n As String)
        MyBase.New(n)

    End Sub

    Public Property FirstTraceSourceAttribute() As String
        Get
            Dim de As DictionaryEntry
            For Each de In Me.Attributes
                If de.Key.ToString().ToLower() = "firsttracesourceattribute" Then
                    firstAttribute = de.Value.ToString()
                End If
            Next de
            Return firstAttribute
        End Get
        Set(ByVal value As String)
            firstAttribute = value
        End Set
    End Property

    Public Property SecondTraceSourceAttribute() As String
        Get
            Dim de As DictionaryEntry
            For Each de In Me.Attributes
                If de.Key.ToString().ToLower() = "secondtracesourceattribute" Then
                    secondAttribute = de.Value.ToString()
                End If
            Next de
            Return secondAttribute
        End Get
        Set(ByVal value As String)
            secondAttribute = Value
        End Set
    End Property

    Protected Overrides Function GetSupportedAttributes() As String()
        ' Allow the use of the attributes in the configuration file.
        Return New String() {"FirstTraceSourceAttribute", "SecondTraceSourceAttribute"}

    End Function 'GetSupportedAttributes
End Class

Remarks

The default implementation for GetSupportedAttributes returns null.

Notes to Inheritors

When inheriting from the TraceSource class or a derived class, you can override the GetSupportedAttributes() method to provide custom attributes for your class.

Applies to