Errore del compilatore CS0243

Aggiornamento: novembre 2007

Messaggio di errore

L'attributo Conditional non è valido per 'metodo' perché è un metodo di override.
The Conditional attribute is not valid on 'method' because it is an override method

L'attributo Conditional non è consentito su un metodo contrassegnato con la parola chiave override. Per ulteriori informazioni, vedere Sapere quando utilizzare le parole chiave Override e New (Guida per programmatori C#).

Il compilatore non esegue mai l'associazione ai metodi override ma solo al metodo di base e, se necessario, in Common Language Runtime viene chiamato l'override.

Il seguente codice di esempio genera l'errore 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() {}
}