How can you display details of a custom type in debugger windows without expanding type tree?
Let’s consider following sample:
private static void Main() { var Js = new[]{ new IDableText("John"), new IDableText("Jack"), new IDableText("Joe"), new IDableText("Jackson") };
foreach (var j in Js) { // ... } }
class IDableText { public IDableText(string name) { this.Text = name; this.CreationTime = DateTime.Now; this.Id = Guid.NewGuid(); }
public DateTime CreationTime { get; private set; } public string Text { get; private set; } public Guid Id { get; private set; } } |
This code will produce all too known debug variable window:

But, if you decorate class IDableText with a built-in attribute like this…
[DebuggerDisplay("Text={Text} CreationTime={CreationTime} Id={Id}")]
…you’ll get more readable result.

Nice!
