【问题标题】:Is there a better and safer way than using: #define DEBUG?有没有比使用:#define DEBUG 更好、更安全的方法?
【发布时间】:2011-02-11 22:15:23
【问题描述】:

在我的一个 asp.Net 页面中,我想设置用户控件的一些属性,以便在我调试和测试我的页面时,它的行为会有所不同,从而使事情变得更容易和更快。

只有在调试中运行 VS 时,我才想编译设置属性的代码块。我知道我可以使用条件编译指令,例如:

#define DEBUG

#if DEBUG
        // some settings here
#else
              // some settings to be used in Released code
#endif

但问题是我想避免将定义声明注释掉的风险。

还有比这更安全的方法吗? 谢谢!

【问题讨论】:

    标签: c# .net asp.net


    【解决方案1】:

    您通常不应在代码中包含 #define - 具有不同 Visual Studio 项目配置的意义在于它们控制定义了哪些预处理器符号。

    只需构建 Release 或 Debug 配置来控制使用哪位代码。

    【讨论】:

      【解决方案2】:

      您在代码中做错了。你永远不会在#else 部分运行,因为你总是定义DEBUG 符号,所以当它总是为真时定义if 是没有意义的。

      关于安全,我认为使用#define DEBUG 没有任何威胁。只需将其删除并使用项目配置!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-12
        • 1970-01-01
        • 2012-09-17
        • 1970-01-01
        • 2016-02-13
        • 2011-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多