Lire en anglais

Partager via


Erreur du compilateur CS0243

L’attribut Conditional n’est pas valide sur 'méthode', car il s’agit d’une méthode override

L’attribut ConditionalAttribute n’est pas autorisé sur une méthode marquée avec le mot clé override. Pour plus d’informations, consultez Savoir quand utiliser les mots clés override et new.

Le compilateur ne lie jamais à des méthodes override. Il lie uniquement à la méthode de base et le Common Language Runtime appelle la substitution comme il convient.

Le code suivant génère l’erreur 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() {}  
}