Als je tijdens het debuggen door de code aan het stappen bent, stopt de Debugger bij ALLE code.
Dit is vaak helemaal niet gewenst, zoals bij eenvoudige properties als de Instance property.
public static SomeObject Instance
{
get { return _Instance; }
}
Bij het debuggen van veel/alle methodes van deze class kom je dus langs de Instance property.
Dit kun je omzeilen door er het DebuggerStepThrough attribuut boven te zetten.
Hierdoor slaat de Debugger standaard de code over, maar kan je er wel nog een breakpoint in zetten.
Dit in tegenstelling tot de DebuggerHidden attribuut. Deze slaat ook de code over, maar doet dat zelfs als je er een breakpoint in zet!!!
Dit kan dus heel verwarrend zijn, en gebruik daarom liever de DebuggerStepThrough.
Overigens moet je het attribuut boven de getter/setter zetten, en komt het resultaat er dan zo uit te zien:
public static SomeObject Instance
{
[DebuggerStepThrough]
get { return _Instance; }
}