美文网首页
Visual Studio中自定义条件编译的宏以灵活进行代码控制

Visual Studio中自定义条件编译的宏以灵活进行代码控制

作者: 达哥傻乐 | 来源:发表于2023-03-09 13:53 被阅读0次

有时候在调试程序的过程中需要进行一些特殊的输出以便进行分析,比如我下面的代码我需要输出当前的函数的名字:

#if DetailedLog
                            WriteLog($"Module: {new System.Diagnostics.StackTrace().GetFrame(0).ToString()}", true);
#endif 

我这里面使用了定义的宏DetailedLog来进行条件编译,如果定义了DetailedLog,那么这行就生效,如果没有定义,那么就不编译这一行,这样我在调试的时候定义这个宏,如果正式版程序里这一行不必要了,我就把这个宏的定义去掉,就不用一行行去删除这一行输出Log的代码了,可能有100处呢?
要定义这个DetailedLog可以放在代码文件顶上,比如这样:


图1. 代码文件内的定义

这样的定义只对当前文件内的内容生效,如果我想要它对全局整个项目生效需要在项目的编译属性里定义:


图2. 全局定义
如果要定义多个,用逗号或者分号隔开即可。

相关文章

网友评论

      本文标题:Visual Studio中自定义条件编译的宏以灵活进行代码控制

      本文链接:https://www.haomeiwen.com/subject/feialdtx.html