Erreur du compilateur CS0462
Les membres hérités 'member1' et 'member2' ont la même signature dans le type 'type' et ne peuvent donc pas être substitués
Cette erreur se produit avec l’introduction de génériques. Normalement, vous ne pouvez pas avoir deux versions d’une méthode dans une classe avec la même signature. Mais avec les génériques, vous pouvez spécifier une méthode générique qui peut dupliquer une autre méthode si elle est instanciée avec un type particulier.
Quand C<int>
est instancié, deux versions de la méthode F
sont créées avec la même signature, donc le remplacement dans la classe D
ne peut pas déterminer celle à laquelle appliquer le remplacement.
L’exemple suivant génère l’erreur CS0462.
// 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
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :