Код «Только отладка», который должен запускаться только при «включении»

Я хотел бы добавить некоторый код C # "только для отладки", который запускается только в том случае, если его запрашивает отладчик. В C ++ я делал что-то похожее на следующее:

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
 // ...
}

Я не могу сделать то же самое в C #, поскольку нет локальной статики.

Вопрос : Как лучше всего сделать это в C #. C #?

  1. Следует ли использовать статическое поле частного класса с директивами препроцессора C # ( # if / # endif DEBUG )?
  2. Следует ли использовать атрибут Conditional (для хранения кода), а затем статическое поле частного класса ( не , окруженное директивами препроцессора C # # if / # endif DEBUG ?).
  3. Что-то еще?
85
задан Yousha Aleayoub 23 November 2019 в 08:20
поделиться