利用 Conditional 属性,程序员可以定义条件方法。Conditional 属性通过测试条件编译符号来确定适用的条件。当运行到一个条件方法调用时,是否执行该调用,要根据出现该

调用时是否已定义了此符号来确定。如果定义了此符号,则执行该调用;否则省略该调用(包括对调用的参数的计算)。

 

条件方法要受到以下限制:

条件方法必须是类声明或结构声明中的方法。如果在接口声明中的方法上指定 Conditional 属性,将出现编译时错误。
条件方法必须具有 void 返回类型。
不能用 override 修饰符标记条件方法。但是,可以用 virtual 修饰符标记条件方法。此类方法的重写方法隐含为有条件的方法,而且不能用 Conditional 属性显式标记。
条件方法不能是接口方法的实现。否则将发生编译时错误。


以 Debug 方式编译时, 方法 ShowMessage 被调用,而以 Release 方式编译时,自动不调用。示例如下:

 

using System;
using System.Diagnostics;

public class Trace
{
	[Conditional("DEBUG")]
	public Static void ShowMessage(string msg)
	{
		Console.WriteLine(" [Trace - " + msg);
	}
}

public class Program
{
	public static void Main()
	{
		Trace.ShowMessage("Starting");
		Console.WriteLine("运行中");
		Trace.ShowMessage("Ending");
	}
}

 

 

谢谢浏览!

相关文章:

  • 2022-01-27
  • 2021-07-11
  • 2021-10-31
  • 2022-12-23
  • 2021-12-31
  • 2021-11-19
猜你喜欢
  • 2021-11-28
  • 2022-02-03
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案