Ich möchte einen C # -Code "nur debuggen" hinzufügen, der nur ausgeführt wird, wenn die debuggende Person dies anfordert. In C ++ habe ich etwas Ähnliches gemacht:
void foo()
{
// ...
#ifdef DEBUG
static bool s_bDoDebugOnlyCode = false;
if (s_bDoDebugOnlyCode)
{
// Debug only code here gets executed when the person debugging
// manually sets the bool above to true. It then stays for the rest
// of the session until they set it to false.
}
#endif
// ...
}
Ich kann in C # nicht genau dasselbe tun, da es keine lokale Statik gibt.
Frage : Was ist der beste Weg, um dies in C # zu erreichen?
- Sollte ich ein statisches Feld für private Klassen mit C # -Vorprozessoranweisungen (
#if/#endif DEBUG
) verwenden? - Sollte ich das Conditional-Attribut (um den Code zu speichern) und dann ein statisches Feld für eine private Klasse verwenden ( nicht von C # -Vorprozessoranweisungen umgeben
#if/#endif DEBUG
?). - Etwas anderes?