根据预处理标识符执行方法。Conditional 属性是 ConditionalAttribute 的别名,可应用于方法或属性

在本示例中,Conditional 应用于方法以启用或禁用程序特定的诊断信息的显示:

 CopyCode image复制代码
        #define TRACE_ON
using System;
using System.Diagnostics;

public class Trace
{
    [Conditional("TRACE_ON")]
    public static void Msg(string msg)
    {
        Console.WriteLine(msg);
    }
}

public class ProgramClass
{
    static void Main()
    {
        Trace.Msg("Now in Main...");
        Console.WriteLine("Done.");
    }
}

如果未定义 TRACE_ON 标识符,则将不会显示跟踪输出。

Conditional 属性经常与 DEBUG 标识符一起使用以启用调试版本的跟踪和日志记录功能(在发布版本中没有这两种功能),如下例所示:

 CopyCode image复制代码
        [Conditional("DEBUG")]
static void DebugMethod()
{
}

Expand 图像备注

Expand 图像使用多个标识符

Expand 图像使用具有属性类的条件

Expand image请参见