Auf Englisch lesen

Freigeben über


Compilerfehler CS0460

Einschränkungen für Überschreibungs- und explizite Schnittstellenimplementierungsmethoden werden von der Basismethode geerbt und können daher nicht direkt angegeben werden.

Wenn eine generische Methode, die Teil einer abgeleiteten Klasse ist, eine Methode in der Basisklasse überschreibt, können Sie keine Einschränkungen für die überschriebene Methode angeben. Die überschriebene Methode in der abgeleiteten Klasse erbt die Einschränkungen von der Methode in der Basisklasse.

Beispiel

Im folgenden Beispiel wird CS0460 generiert.

// CS0460.cs  
// compile with: /target:library  
class BaseClass
{  
   BaseClass() { }  
}  
  
interface I  
{  
   void F1<T>() where T : BaseClass;  
   void F2<T>() where T : struct;  
   void F3<T>() where T : BaseClass;  
}  
  
class ExpImpl : I  
{  
   void I.F1<T>() where T : BaseClass {}   // CS0460  
   void I.F2<T>() where T : class {}  // CS0460  
}