TraceSource.GetSupportedAttributes Method    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
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.