Vorrei aggiungere del codice C # "solo debug" che viene eseguito solo se la persona che esegue il debug lo richiede. In C ++, facevo qualcosa di simile al seguente:
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
// ...
}
Non posso fare esattamente lo stesso in C # poiché non esiste una statica locale.
Domanda : qual è il modo migliore per eseguire questa operazione in C #?
- Devo usare un campo statico di classe privata con direttive del preprocessore C # (
#if/#endif DEBUG
)? - Devo usare l'attributo condizionale (per contenere il codice) e quindi un campo statico di classe privata ( non circondato dalle direttive del preprocessore C #
#if/#endif DEBUG
?). - Qualcos'altro?