Error del compilador CS0243

Actualización: noviembre 2007

Mensaje de error

El atributo Conditional no es válido en 'método' porque es un método de reemplazo
The Conditional attribute is not valid on 'method' because it is an override method

No se permite el atributo Conditional en un método marcado con la palabra clave override. Para obtener más información, vea Saber cuándo utilizar las palabras clave Override y New (Guía de programación de C#).

El compilador nunca crea enlaces a métodos de reemplazo, sólo con el método base, y Common Language Runtime llama al reemplazo, según corresponda.

El código siguiente genera el error 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() {}
}