Search code examples
c#.netdebuggingvisual-studio-debugging

How to get ToString() to show up in Debug


I'd like to get ToString() to display for a class under my control in debug mode.

It'd be nice if this was the first thing to show up when you hover over a variable with the mouse. Is there an attribute for this?


Solution

  • Mark your class with

    [System.Diagnostics.DebuggerDisplay("{ToString()}")]
    

    Test:

    [System.Diagnostics.DebuggerDisplay("{ToString()}")]
    class MyClass
    {
        private string _foo = "This is the text that will be displayed at debugging"
    
        public override string ToString()
        {
            return _foo;
        }
    }
    

    Now when you hover over a variable with the mouse it will show This is the text that will be displayed at debugging.