Czy są jakieś atrybuty, które można zastosować do metod z użyciem zestawu standardowego, aby takie metody nie pojawiały się w śladach stosu? Mam ich dużo, aw niektórych przypadkach są na kilku poziomach. To po prostu zagracające rzeczy.Jak mogę nakazać kompilatorowi zignorowanie metody śledzenia stosu?
Przykład Kod:
class Program
{
public static void ThrowMe()
{
throw new NotImplementedException();
}
public static void HideMe()
{
ThrowMe();
}
static void Main(string[] args)
{
try
{
HideMe();
}
catch (Exception e)
{
}
}
}
ten generuje ten ślad stosu:
w Spork.Program.ThrowMe() C: \ Projects \ xxx \ Badanie Piaskownica \ ConsoleTesting \ Program.cs : linia 58
w Spork.Program.HideMe() c: \ Projects \ xxx \ Badanie Piaskownica \ ConsoleTesting \ Program.cs: linia 64
na Spork.Program.Main (String [] args) w C: \ Projects \ XXX \ Testing Sandbox \ ConsoleTesting \ Program.cs: linia 70
To, o co prosisz, jest wygodne w niektórych przypadkach, a koszmar w innych. Wyobraź sobie, że ktoś inny czytał twój ślad stosu i zobaczył, że 'Main' nazywa się' ThrowMe() '. Następnie badają 'Main', ale nie widzą, gdzie zostało wywołane. Wyobraź sobie, że 'Main' ma 500 linii, więc nie jest tak oczywiste jak twoja próbka. Sympatyzuję z tobą, ale ostatecznie ta "cecha" zostanie nadużyta, a kodowanie będzie koszmarem, dlatego nie istnieje. –
Doskonały punkt. – Amy