gpt4 book ai didi

c# - 我可以从中央文件设置 C# 预处理器指令吗?

转载 作者:太空狗 更新时间:2023-10-29 22:16:54 24 4
gpt4 key购买 nike

我需要向我的应用程序添加一些日志记录,它需要处于 Release模式,我需要确保日志记录代码没有在生产环境中运行。因此,我想使用 #define 和 #if 来确保在我进入生产环境时删除日志语句。

问题是,我需要登录多个文件,而且在每个文件的顶部放置一个#define 很痛苦。有没有办法有一个集中的#define?这样我就可以从所有文件中删除单个 #define 而不是 #define(这意味着我几乎肯定会忘记一个)。

最佳答案

在命令行上,使用/define 开关。在 Visual Studio 中,从项目的属性页中选择“生成”选项卡,然后填写“条件编译符号”部分。

还可以考虑不使用条件编译,而是让您的日志记录方法成为条件方法。这是一个看起来更令人愉快的选择。这就是 Debug.Assert 的工作原理;它是一种条件方法,因此如果未定义调试预处理器符号,编译器会在代码生成之前简单地删除对该方法的所有调用。

另请参阅我关于该主题的文章:

http://ericlippert.com/2009/09/10/whats-the-difference-between-conditional-compilation-and-the-conditional-attribute/

关于c# - 我可以从中央文件设置 C# 预处理器指令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com