 Well, there are a number of different ways we can customize the debugging experience for the object that we create. And one of the things we can do is to write a class that acts as a proxy in the debugger. And this allows us to completely change the way that the type is displayed in the debugger. So let's take a look at this patient detail object. And if we go ahead and run this application, we can see that our patient name and date of birth and his disease history. So if we wanted to customize this debugger experience, for example, roll up this patient detail such as patient name and date of birth into a single string and this disease history as pipe separated string. So to do this, we can use the debugger type proxy attribute. So let me define the attribute debugger type proxy. So when we use this attribute, we need to specify the type to be used as the debugger proxy. In our case, it's patient detail proxy. So here we are saying whenever we display the patient detail class in the debugger, we actually want to use this patient detail debug proxy class. So now let's go to this class. So when we create a class to be used as a debug proxy, we need to specify a constructor that takes an instance of the object that we want to display. So here we are creating a proxy for patient detail class and assign this object to an internal field of this class so that we can access it. Now the first thing we want to do is create this patient detail roll up of the name and date of birth. So this way this property is simply returning the name followed by the date of birth. And the second thing we wanted in our debug proxy class is the pipe separated string of disease history. So that's our proxy class defined and we have linked it to the main class using debugger type proxy attribute. So now let's run this app and see what debug info we have. Now if I hover over this object and expand it, notice that now we get the information from our proxy class and not the underlying patient detail class. So here we have our pipe separated disease history list and our patient detail string in this property. And these two properties are coming from the proxy class. So this is how the debugger type proxy attribute allows us to specify a proxy class to customize the view of the data in the debugger window.