这些方法使用它ConditionalAttribute
来指定何时应包含它们.
当通过命令行或系统环境(在shell中)DEBUG
指定为a时#define
,编译器将包含标记为的方法.如果不包含,则将省略这些方法和对它们的任何调用.您可以自己使用此机制在某些情况下包含方法,它也用于控制调用(这使用define).set DEBUG = 1
[Conditional("DEBUG")]
DEBUG
Trace
Trace.WriteLine
TRACE
这是由于ConditionalAttribute
; 除非定义了该符号,否则编译器会忽略对标记为条件的方法的调用.
你可以拥有自己的:
[Conditional("BLUE")]
void Bar() {...}
Run Code Online (Sandbox Code Playgroud)
只有在定义BLUE时才会调用它.
请注意,有一些限制,以使"明确分配"工作:
(partial
出于类似原因,同样的限制适用于方法)
归档时间: |
|
查看次数: |
3392 次 |
最近记录: |