Conditional
特性使得方法执行依赖于预处理符号。 Conditional
属性是 ConditionalAttribute 的别名,可以应用于方法或特性类。
比如说, Conditional
特性可以与 DEBUG
标识符一起使用,以启用调试生成(而非发布生成)中的跟踪和日志记录功能,如下例所示:
[Conditional("DEBUG")]
static void DebugMethod()
{
}
当调用标记有条件的方法时,只有在指定的预处理符号存在时,编译器才会将其包括在调用中,否则将忽略掉。该条件方法必须是类或结构声明中的方法,而且必须具有 void
返回类型。
与将方法封闭在 #if…#endif
块内相比,Conditional
更简洁且较不容易出错。