Je voudrais ajouter du code C # "débogage uniquement" qui ne fonctionne que si la personne qui déboge le demande. En C ++, j'avais l'habitude de faire quelque chose de similaire à ce qui suit:
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
// ...
}
Je ne peux pas faire exactement la même chose en C # car il n'y a pas de statique locale.
Question : Quelle est la meilleure façon d'accomplir cela en C #?
- Dois-je utiliser un champ statique de classe privée avec des directives de préprocesseur C # (
#if/#endif DEBUG
)? - Dois-je utiliser l'attribut Conditionnel (pour contenir le code), puis un champ statique de classe privée ( non entouré de directives de préprocesseur C #
#if/#endif DEBUG
?). - Autre chose?