C# 是否真的有必要明确定义;“未定义”;即使定义被注释掉了?
我在执行此代码时遇到一些问题:C# 是否真的有必要明确定义;“未定义”;即使定义被注释掉了?,c#,conditional-compilation,undef,C#,Conditional Compilation,Undef,我在执行此代码时遇到一些问题: #if TRACE dbgLog = new LogInfo( "PlatypusCE" ); #endif 尽管在一大堆一般性评论之后,上面对“跟踪”进行了注释,但仍发生了这种情况: //#define TRACE 我在下面添加了以下内容: #undef TRACE ……因此: //#define TRACE #undef TRACE …但它可以按需要工作(“如果跟踪”代码不执行) 是否真的有必要取消定义尚未定义(已注释掉)
#if TRACE
dbgLog = new LogInfo( "PlatypusCE" );
#endif
尽管在一大堆一般性评论之后,上面对“跟踪”进行了注释,但仍发生了这种情况:
//#define TRACE
我在下面添加了以下内容:
#undef TRACE
……因此:
//#define TRACE
#undef TRACE
…但它可以按需要工作(“如果跟踪”代码不执行)
是否真的有必要取消定义尚未定义(已注释掉)的内容?这似乎很奇怪。默认情况下,在profiles Debug和Release中,VisualStudio将定义
TRACE
常量。您可以在项目设置(在Build
选项卡中)中更改此行为。调试
常量类似,默认情况下在调试配置文件(但不是发布)中处于活动状态。默认情况下,Visual Studio将在配置文件调试和发布中定义跟踪
常量。您可以在项目设置(在Build
选项卡中)中更改此行为。DEBUG
常量类似,默认情况下在调试配置文件(但不是发布)中处于活动状态。TRACE
是默认为调试生成定义的两个常量之一:
跟踪
是默认情况下为调试生成定义的两个常量之一:
是否有可能通过而不是通过
定义跟踪?你看过项目设置了吗?有没有可能是跟踪
是通过而不是定义的?你看过项目设置了吗?