Freigeben über


Compilerfehler CS0462

Aktualisiert: November 2007

Fehlermeldung

Die geerbten Member "Member1" und "Member2" haben die gleiche Signatur im Typ "Typ" und können daher nicht überschrieben werden
The inherited members 'member1' and 'member2' have the same signature in type 'type', so they cannot be overridden

Dieser Fehler entsteht bei der Einführung generischer Methoden. In der Regel können in einer Klasse mit derselben Signatur nicht zwei Versionen von einer Methode vorhanden sein. Beim generischen Vorgehen können Sie jedoch eine generische Methode angeben, die möglicherweise eine andere Methode dupliziert, wenn sie mit einem bestimmten Typ instanziiert ist.

Beispiel

Wenn C<int> instanziiert ist, werden zwei Versionen der F-Methode mit derselben Signatur erstellt, sodass beim Überschreiben in der D-Klasse keine Entscheidung getroffen werden kann, welche Version überschrieben werden soll.

Im folgenden Beispiel wird CS0462 generiert.

// CS0462.cs
// compile with: /target:library
class C<T> 
{
   public virtual void F(T t) {}
   public virtual void F(int t) {}
}

class D : C<int> 
{
   public override void F(int t) {}   // CS0462
}