根据预处理标识符执行方法。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 //Busing 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
时间: 2024-10-11 11:49:05