我想添加一些仅在调试人员要求时运行的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#预处理程序指令(
#if/#endif DEBUG
)中使用私有类静态字段? - 我应该使用Conditional属性(以保存代码),然后使用私有类静态字段(不被C#预处理程序指令包围
#if/#endif DEBUG
吗?)。 - 还有吗