首页 > 代码库 > 巧用Conditional

巧用Conditional

根据预处理标识符执行方法。Conditional 属性是 ConditionalAttribute 的别名,可应用于方法或属性类。

通常用于DEBUG,如下则只有在debug的情况下会打印log。

[Conditional("DEBUG")] 
public static void Message(string traceMessage) 
{ 
      Console.WriteLine("[TRACE] - " + traceMessage); 
} 

 

Conditional 类似于C/C++中的预编译,例如下面的例子,在#define A的情况下,DoWork只会调用A方法,为B则调用B方法。

在有些地方妥善使用能让我们的代码更加优美。

#define  A  //B

using System;
using System.Diagnostics;


public class ConditionTest 
{
    [Conditional("A")]
    private void DoA()
    {
        //todo://
    }
    [Conditional("A")]
    private void DoB()
    {
        //todo://
    }

    private void DoWork()
    {
        DoA();
        DoB();
    }
}

 参考资料:http://msdn.microsoft.com/zh-cn/library/4xssyw96(v=vs.90).aspx