zoukankan      html  css  js  c++  java
  • Effective C# 学习笔记(四)使用Conditional Attributes 替代 #if

    用法

    [Conditional("DEBUG"),

    Conditional("TRACE")]

    private void CheckState()

    {

    // Grab the name of the calling routine:

    string methodName =

    new StackTrace().GetFrame(1).GetMethod().Name;

    Trace.WriteLine("Entering CheckState for Person:");

    Trace.Write("\tcalled by ");

    Trace.WriteLine(methodName);

    Debug.Assert(lastName != null,

    methodName,

    "Last Name cannot be null");

    Debug.Assert(lastName.Length > 0,

    methodName,

    "Last Name cannot be blank");

    Debug.Assert(firstName != null,

    methodName,

    "First Name cannot be null");

    Debug.Assert(firstName.Length > 0,

    methodName,

    "First Name cannot be blank");

    Trace.WriteLine("Exiting CheckState for Person");

     

    }

    private void CheckStateBad()

    {

    // The Old way:

    #if BOTH

    Trace.WriteLine("Entering CheckState for Person");

    // Grab the name of the calling routine:

    string methodName =

    new StackTrace().GetFrame(1).GetMethod().Name;

    Debug.Assert(lastName != null,

    methodName,

    "Last Name cannot be null");

    Debug.Assert(lastName.Length > 0,

    methodName,

    "Last Name cannot be blank");

     

    Debug.Assert(firstName != null,

    methodName,

    "First Name cannot be null");

    Debug.Assert(firstName.Length > 0,

    methodName,

    "First Name cannot be blank");

    Trace.WriteLine("Exiting CheckState for Person");

    #endif

    }

     

    定义组合变量

    #if ( VAR1 && VAR2 )

    #define BOTH

    #endif

  • 相关阅读:
    总有一天你会爱上我
    你已把我的心带走
    创业提示】创业不能以赚多少钱为目标!
    创业测试:看看你身上成功的潜质
    迁芸(名字作诗)
    请你陪我一程
    智力型企业领导艺术
    方学萍(帮别人名字作诗)
    创业者身上一定要存在的几点修为
    以小博大:小本成功创业经验谈
  • 原文地址:https://www.cnblogs.com/haokaibo/p/2096529.html
Copyright © 2011-2022 走看看