Debugger display attribute helps to customized debugger message which in turn create more meaningful debug messages.
When we try debugging the below sample code
var order = new Order
{
OrderId = Guid.NewGuid(),
OrderDate = DateTime.Now,
Amount = 100.00M,
Customer = new Customer()
{
Id = Guid.NewGuid(),
Name = "Arjit"
}
};
Lets see How to implement this For creating custom debug messages we need to decorate class with DebuggerDisplay.
[DebuggerDisplay("New Order is Created By {Customer.Name} onIf You don’t want the properties to be appearing on debug window the use
{OrderDate.ToShortDateString()} For ${Amount}")]
class Order
{
public Guid OrderId { get; set; }
public DateTime OrderDate { get; set; }
public decimal Amount { get; set; }
public Customer Customer { get; set; }
}
[DebuggerDisplay("New customer is {Name}")]
class Customer
{
public Guid Id { get; set; }
public string Name { get; set; }
}
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
public Guid Id { get; set; }