Eu gostaria de adicionar algum código C # "somente depuração" que só é executado se a pessoa que está depurando o solicitar. Em C ++, eu costumava fazer algo semelhante ao seguinte:
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
// ...
}
Não posso fazer exatamente o mesmo em C #, pois não há estática local.
Questão : Qual é a melhor maneira de fazer isso em C #?
- Devo usar um campo estático de classe privada com diretivas de pré-processador C # (
#if/#endif DEBUG
)? - Devo usar o atributo Conditional (para manter o código) e, em seguida, um campo estático de classe privada ( não cercado por diretivas de pré-processador C #
#if/#endif DEBUG
?). - Algo mais?