• 【转】你必须知道的#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
    做个快乐的自己。
  • 相关阅读:
    HTML标签和属性三
    HTML标签和属性二
    HTML标签和属性一
    小程序相关面试题
    Vue路由的hash模式与history模式的区别?
    android中VideoView播放sd卡上面的视频
    Android中app开机自启动的开发
    java中byte,byte[]和int之间的转换
    Android多activity启动两种方式浅谈
    Android开发用到的几种常用设计模式浅谈(一):组合模式
  • 原文地址:https://www.cnblogs.com/Jessy/p/2216190.html
Copyright © 2020-2023  润新知