#if #else #endif指令

时间:2017-03-06 16:52:59

标签: c# wpf

#if DEBUG               
         e.Handled = false; 
#else
        ShowUnhandledException(e);
#endif

当尝试使用上述指令时,“if”之后的行显示为代码并执行,但else之后的行仍为灰色且不执行。 endif语句有效。如何让else指令作为一行代码工作?

在设置中勾选DEBUG定义常量!

2 个答案:

答案 0 :(得分:2)

如果您的意思是如何获取else下的代码来执行<{1}}下代码的而不是,那么只需在您的设置中取消删除DEBUG。

答案 1 :(得分:0)

我可以建议这样的事情:

bool isDebugging;
#if DEBUG
    isDebugging = true;
#else
    isDebugging = false;
#endif

if(isDebugging)
{
    e.Handled = false;
}
else
{
    ShowUnhandledException(e);
}

我经常使用某种静态变量和buildmode的枚举表示来修改调试时的特定行为(例如不发送邮件等)