C#中的条件属性是什么?

属性用于将元数据(例如编译器指令)和其他信息(例如注释,描述,方法和类)添加到程序。

此预定义属性标记条件方法,其执行取决于指定的预处理标识符。

根据指定的值(例如Debug或Trace),它将导致方法调用的条件编译。例如,它在调试代码时显示变量的值。

以下是条件属性的语法-

[Conditional(
   conditionalSymbol
)]

让我们看看如何使用条件属性-

示例

#define DEBUG
using System;
using System.Diagnostics;

public class Myclass {
   [Conditional("DEBUG")]

   public static void Message(string msg) {
      Console.WriteLine(msg);
   }
}

class Test {
   static void function1() {
      Myclass.Message("In Function 1");
      function2();
   }

   static void function2() {
      Myclass.Message("In Function 2");
   }

   public static void Main() {
      Myclass.Message("In Main function");
      function1();
      Console.ReadKey();
   }
}

输出结果

In Main function
In Function 1
In Function 2