Compiler Error CS0243
The Conditional attribute is not valid on 'method' because it is an override method
The Conditional attribute is not allowed on a method that is marked with the override keyword. For more information, see Knowing When to Use Override and New Keywords (C# Programming Guide).
The compiler never binds to override methods; it only binds to the base method and the common language runtime calls the override, as appropriate.
The following sample generates 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() {}
}