Edit

Share via


DebuggerBrowsableState Enum

Definition

Provides display instructions for the debugger.

public enum class DebuggerBrowsableState
public enum DebuggerBrowsableState
[System.Runtime.InteropServices.ComVisible(true)]
public enum DebuggerBrowsableState
type DebuggerBrowsableState = 
[<System.Runtime.InteropServices.ComVisible(true)>]
type DebuggerBrowsableState = 
Public Enum DebuggerBrowsableState
Inheritance
DebuggerBrowsableState
Attributes

Fields

Name Value Description
Never 0

Never show the element.

Collapsed 2

Show the element as collapsed.

RootHidden 3

Do not display the root element; display the child elements if the element is a collection or array of items.

Examples

The following code example shows the use of the DebuggerBrowsableState enumeration to instruct the debugger to not display the root (property name) of the Keys property, but to display the elements of the array that Keys gets. This code example is part of a larger example provided for the DebuggerDisplayAttribute class.

[DebuggerBrowsable(DebuggerBrowsableState::RootHidden)]
property array<KeyValuePairs^>^ Keys
{
    array<KeyValuePairs^>^ get()
    {
        array<KeyValuePairs^>^ keys = gcnew array<KeyValuePairs^>(hashtable->Count);

        IEnumerator^ ie = hashtable->Keys->GetEnumerator();
        int i = 0;
        Object^ key;
        while (ie->MoveNext())
        {
            key = ie->Current;
            keys[i] = gcnew KeyValuePairs(hashtable, key, hashtable[key]);
            i++;
        }
        return keys;
    }
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public KeyValuePairs[] Keys
{
    get
    {
        KeyValuePairs[] keys = new KeyValuePairs[hashtable.Count];

        int i = 0;
        foreach(object key in hashtable.Keys)
        {
            keys[i] = new KeyValuePairs(hashtable, key, hashtable[key]);
            i++;
        }
        return keys;
    }
}
<DebuggerBrowsable(DebuggerBrowsableState.RootHidden)> _
ReadOnly Property Keys as KeyValuePairs()
    Get
        Dim nkeys(hashtable.Count) as KeyValuePairs

        Dim i as Integer = 0
        For Each key As Object In hashtable.Keys
            nkeys(i) = New KeyValuePairs(hashtable, key, hashtable(key))
            i = i + 1
        Next
        Return nkeys
    End Get
End Property

Remarks

DebuggerBrowsableState is used to simplify the view in the debug window. Use of the DebuggerDisplayAttribute attribute using this enumeration can result in a much simpler and more pleasing view in the debug window. See the DebuggerBrowsableAttribute class for information on the use of this enumeration.

Applies to