我在多个地方使用同一C#类实例遇到麻烦。我希望能够在调试器中一目了然地知道哪个实例是哪个实例,因此我添加了一个名为DebugUID
的字段,如下所示:
public readonly string DebugUID = Guid.NewGuid().ToString();
并且我还将属性
[DebuggerDisplay("DebugUID= {DebugUID}")]
添加到类中。我希望编译器在发布模式下忽略DebugUID字段。如果这是一种方法,我会在其前面添加
[Conditional("Debug")]
,但它不允许我对字段执行此操作。如何在C#中将字段设置为仅调试? 最佳答案
C#具有类似于C / C ++的条件编译功能。您可以将#if
语句与DEBUG
这样的编译指令一起使用来完成此操作。
#if DEBUG
public readonly string DebugUID = Guid.NewGuid().ToString();
#endif
由于默认情况下只有“ Debug”配置定义
DEBUG
指令,因此只能在Debug模式下进行编译。在发布模式下,#if
中的代码将被忽略。