Ler em inglês

Partilhar via


Erro do compilador CS0243

O atributo Conditional não é válido em 'method' porque é um método de substituição

O ConditionalAttribute atributo não é permitido em um método marcado com a palavra-chave override . Para obter mais informações, consulte Sabendo quando usar a substituição e novas palavras-chave.

O compilador nunca se liga a substituir métodos. Ele só se liga ao método base, e o common language runtime chama a substituição, conforme apropriado.

O código a seguir gera 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() {}  
}