我在多个地方使用同一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中的代码将被忽略。

10-06 15:19