zoukankan      html  css  js  c++  java
  • 【转】你必须知道的#if DEBUG

    #if DEBUG,这个东东其实以前刚开始学习C#的时候就知道了,也知道怎么用,但就是没有使用过。随想,很多人估计也都没有用过吧(嘿,自我安慰下)。  
    最近看MVVMLight的代码时看到#if SILVERLIGHT的东东,于是想起来#if debug来了,于是在代码中疯狂的使用:   
    设置下用户名和密码,免得每次都输入   
    #if DEBUG  
        UserID = "abc@abc.com";   
        Password = "123456";   
    #endif   
    设置下登陆状态,免得每次都要登陆   
    #if DEBUG   
        IsLogin = true;   
    #elif   
        ......   
    #endif

    输出异常信息:  
    cache(Exception ex)   
    {   
    #if DEBUG   
        MessageBox.Show(ex.ToString());   
    #ENDIF   
        ......   
    }   
    等等等。。。。。

    然后问题来了,不管我debug还是build,#if DEBUG中的东西依旧执行啊。郁闷了,如果这样的话,那#if debug不就白干了吗。  
    MSDN上说的也没有整明白(具体我不发了,现在网速慢的要死)。

    后来找到原因了:打开程序的属性,在Build中,有一个CheckBox:“Define DEBUG constant”,把这个钩钩去掉之后就没有DEBUG了,如果打上勾就有了。

    在上面有一个“Conditional compilation symbols:”后面有一个文本框,里面也可以输入一些自己定义的宏(好像叫这个名吧)。  
    一切豁然开朗,等到最后生成程序的时候就把勾勾去掉,还有其他定义的东东。   
    ps.   
    #if DEBUG  
        ......   
    #endif


    #if !DEBUG  
        ......   
    #endif


    #if DEBUG  
        ......   
    #elif   
        ....   
    #endif   

    转自:

    http://www.cnblogs.com/flyking/archive/2011/03/04/1971321.html
    做个快乐的自己。
  • 相关阅读:
    CSS3动画
    Grid布局
    JS向上取整、向下取整、四舍五入等
    JS DOM资料
    关于setInterval和setTimeout中的this指向问题
    JavaScript 高级技巧 Memoization
    请求接口的方式
    HTTP协议知识
    CSS样式重置
    Chrome 为什么使用多进程,不使用多线程
  • 原文地址:https://www.cnblogs.com/Jessy/p/2216190.html
Copyright © 2011-2022 走看看