使用#if DEBUG / #endif这种预定义符,或许是老C++程序员的习惯了。我们仍然认为,这种预编译指令比较死板,不够灵活, 取代的方法是用运行时的C#特性(Attributes)。
C#的特性Conditional是在System.Diagnostics名称空间下的,此特性仅支持方法和属性,不支持类。
[Conditional("DEBUG")]
public void Method() {}
当你在某些地方调用以上Method时,系统会判断当前是否为DEBUG模式,如果不是,将不会执行。