DebuggerBrowsableState Enumeration (System.Diagnostics)

Switch View :
ScriptFree
.NET Framework Class Library
DebuggerBrowsableState Enumeration

Provides display instructions for the debugger.

Namespace:  System.Diagnostics
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic
<ComVisibleAttribute(True)> _
Public Enumeration DebuggerBrowsableState
C#
[ComVisibleAttribute(true)]
public enum DebuggerBrowsableState
Visual C++
[ComVisibleAttribute(true)]
public enum class DebuggerBrowsableState
F#
[<ComVisibleAttribute(true)>]
type DebuggerBrowsableState
Members

Member name Description
Never Never show the element.
Collapsed Show the element as collapsed.
RootHidden Do not display the root element; display the child elements if the element is a collection or array of items.
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.

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.

Visual Basic

<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


C#

[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;
    }
}


Visual C++

[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;
    }
}


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference