Chyba kompilátoru CS0462
Zděděné členy "member1" a "member2" mají stejný podpis typu "type", takže je nelze přepsat.
K této chybě dochází při zavádění obecných typů. Za normálních okolností nelze ve třídě se stejným podpisem mít dvě verze metody. U obecných typů ale můžete zadat obecnou metodu, která může duplikovat jinou metodu, pokud se vytvoří instance s konkrétním typem.
Při C<int>
vytvoření instance se vytvoří dvě verze metody F
se stejným podpisem, takže přepsání ve třídě D
nemůže rozhodnout, na který z nich se má přepsání použít.
Následující ukázka vygeneruje 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
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: