【问题标题】:#if #else #endif directives [closed]#if #else #endif 指令[关闭]
【发布时间】:2017-03-06 16:52:59
【问题描述】:
#if DEBUG               
         e.Handled = false; 
#else
        ShowUnhandledException(e);
#endif

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

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

【问题讨论】:

  • #if 指令确定代码是否已编译。当您处于调试模式时,#else 块中的代码将被完全忽略。真的不清楚你在这里问什么。

标签: c# wpf


【解决方案1】:

如果您的意思是如何让else 下的代码执行而不是if 下的代码,那么只需在您的设置中取消勾选 DEBUG。

【讨论】:

    【解决方案2】:

    我可以建议这样的事情吗:

    bool isDebugging;
    #if DEBUG
        isDebugging = true;
    #else
        isDebugging = false;
    #endif
    
    if(isDebugging)
    {
        e.Handled = false;
    }
    else
    {
        ShowUnhandledException(e);
    }
    

    我经常有某种带有构建模式枚举表示的静态变量,用于在调试时修改特定行为(例如不发送邮件等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多