Je voudrais ajouter un peu de C# "debug uniquement" code qui ne fonctionne que si la personne de débogage de la demande. En C++, j'ai utilisé pour faire quelque chose de similaire à la suivante:
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# depuis il n'y a pas de locaux de la statique.
Question: Quelle est la meilleure façon d'accomplir ceci en C#?
- Dois-je utiliser une classe privée de champ statique avec C# les directives de préprocesseur (#si/#endif DEBUG)?
- Dois-je utiliser l'attribut Conditionnel (pour garder le code), puis d'un cours privé de champ statique (pas entouré par C# les directives de préprocesseur #si/#endif DEBUG?).
- Quelque chose d'autre?