Me gustaría agregar un código C # de "solo depuración" que solo se ejecuta si la persona que realiza la depuración lo solicita. En C ++, solía hacer algo similar a lo siguiente:
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
// ...
}
No puedo hacer exactamente lo mismo en C # ya que no hay estática local.
Pregunta : ¿Cuál es la mejor manera de lograr esto en C #?
- ¿Debo usar un campo estático de clase privada con directivas de preprocesador de C # (
#if/#endif DEBUG
)? - ¿Debo usar el atributo condicional (para contener el código) y luego un campo estático de clase privada ( no rodeado por directivas de preprocesador de C #
#if/#endif DEBUG
?). - ¿Algo más?