我在 Debugging .net 2.0 Applications 中看到了以下代码
[Conditional("DEBUG")]
void AssertTableExists() {
#if DEBUG
...
#endif
}
是否有理由使用#if 指令?我的意思是,据我所知,只有在定义了 DEBUG 时才会调用该方法,所以我看不出在方法主体中包含 #if 有什么意义。
最佳答案
巧合的是,我上周刚好在我的博客上回答了你的问题。
如果方法的主体引用了自己在#if DEBUG 指令下声明的实体,则#if 指令是必需的。例如
#if DEBUG
static private int testCounter = 1;
#endif
[Conditional("DEBUG")] void CheckConsistency()
{
#if DEBUG
testCounter++;
#endif
...
如果您在方法主体中省略了 #if DEBUG,则不会在发布版本中编译。
关于c# - 条件 ("Debug") + #if DEBUG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1452335/