更新 : 2007 年 11 月
エラー メッセージ
オーバーライド メソッドであるため、条件付き属性は 'メソッド' では無効です。
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() {}
}