Ich habe die folgenden zwei Codezeilen:C#: VS 2008 Debugger Ausführung Fewokode
lstvbWerteC.Clear();
if (...)
lstvbWerteC ist ein Bereich der Liste <T> mit Klassenbereich. Wenn ich im VS 2008 Debugger einen Haltepunkt für die if-Anweisung setze, würde ich erwarten, dass lstvbWerteC.Count 0 ist, aber stattdessen ist es 1. Meine Klasse hat einige Eigenschaften, die tatsächlich die Liste füllen. Um Nebenwirkungen im Debugger zu verhindern, haben alle Eigenschaften das Attribut [DebuggerBrowsable (DebuggerBrowsableState.Never)]
. Sobald jedoch das lokale Fenster sichtbar ist, scheint der Debugger den Code auszuführen, der die Liste ausfüllt. Wenn das lokale Fenster ausgeblendet ist, ist die Liste immer leer und erreicht den if-Haltepunkt. Alle Informationen zu Debugger-Details, die diese Art von Problem betreffen, sind willkommen.
+1 für "Eigenschaft Getter sollte nicht [sichtbare] Nebenwirkungen haben". –