gpt4 book ai didi

C# 如何使用 #if 为调试和发布提供不同的编译结果?

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

在C++中我们可以在发布的时候使用#ifdef来去掉一些调试语句。 C# 在预处理器方面不同于 C++。我仍然可以使用 C# #if 获得相同的结果吗?我们想通过更改一个地方来消除所有调试语句,并且我们有几种不同类型的调试语句。可以有一个包含我们所有#ifdef 标志的文件来打开或关闭那些调试语句吗?谢谢

最佳答案

您可以将代码包装在:

#if DEBUG

// debug only code

#endif

但是,我不推荐这样做。通常更好的选择是创建一个方法并用 [Conditional("DEBUG")] 属性标记它。参见 Conditional on MSDN更多细节。这允许您制作仅调试方法:

[Conditional("DEBUG")]
public void DebugPrint(string output) { // ...
}

然后,你就可以正常调用了:

DebugPrint("Some message"); // This will be completely eliminated in release mode

关于C# 如何使用 #if 为调试和发布提供不同的编译结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2232094/

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