更新:2007 年 11 月

错误消息

Conditional 属性在“method”上无效,因为该属性是重写方法

在用 override 关键字标记的方法上不允许有 Conditional 属性。有关更多信息,请参见了解何时使用 Override 和 New 关键字(C# 编程指南)

编译器从不绑定到重写方法;它只绑定到基方法,而且公共语言运行库在适当的时候调用重写。

下面的示例生成 CS0243:

 复制代码
// CS0243.cs
// compile with: /target:library
public class MyClass
{
   public virtual void M() {}
}

public class MyClass2 : MyClass
{
   [System.Diagnostics.ConditionalAttribute("MySymbol")]   // CS0243
   // remove Conditional attribute or remove override keyword
   public override void M() {}
}