编译器错误 CS1618
无法用“method”创建委托,因为它具有 Conditional 特性
无法用 conditional 方法创建委托,因为该方法可能不存在于某些生成中。
下面的示例生成 CS1618:
// CS1618.cs
using System;
using System.Diagnostics;
delegate void del();
class MakeAnError {
public static void Main() {
del d = new del(ConditionalMethod); // CS1618
// Invalid because on builds where DEBUG is not set,
// there will be no "ConditionalMethod".
}
// To fix the error, remove the next line:
[Conditional("DEBUG")]
public static void ConditionalMethod()
{
Console.WriteLine("Do something only in debug");
}
}