Używa się go bajecznie prosto - jak zresztą każdego atrybutu. Wystarczy oznaczyć metodę tym atrybutem i gotowe.
[DebuggerStepThrough]
public string MethodHideFromStepThrough()
{
}
Oczywiście użycie tego atrybutu ma sens, gdy będziemy mieli sporo tego typu kodu:
var code = GetAction().Execute();
i interesuje nas tylko dowiedzenie się co dzieje się w metodzie Execute, gdyż GetAction jest prostym switch'em zwracającym odpowiedni obiekt i wiemy, że działa ona poprawnie. Jeśli użyjemy tego atrybutu - F11 przeniesie nas od razu do Execute.
Co ciekawe możliwe jest użyte tego atrybutu na właściwościach, choć trochę w inny sposób. Zamiast atrybutować całe property musimy oatrybutować osobno getter i setter.
public string FlagName
{
[DebuggerStepThrough]
get { return this.flagName; }
[DebuggerStepThrough]
set { this.flagName = value;}
}
Oczywiście możemy użyć tego atrybutu tylko na getterze, gdyż możemy mieć coś co chcemy prześledzić podczas podstawiania wartości. Oczywiście jeżeli masze property nie robi nic prócz ustawiania/odczytu wartości to warto zamienić je na AutoProperty - uzyskamy ten sam efekt. Dzięki użyciu tego atrybutu możemy zaoszczędzić sobie czasu, który musimy poświęcić na klikanie F11, CTRL-F11 podczas śledzenia dużego kawałka kodu. Zachęcam także do przyglądnięcia się System.Diagnostics - jest tam jeszcze kilka ciekawych klas.

0 komentarze:
Prześlij komentarz