Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dziedziczone elementy członkowskie "member1" i "member2" mają ten sam podpis w typie "type", więc nie można ich zastąpić
Ten błąd pojawia się wraz z wprowadzeniem typów ogólnych. Zwykle nie można mieć dwóch wersji metody w klasie z tym samym podpisem. Jednak w przypadku typów ogólnych można określić metodę ogólną, która może zduplikować inną metodę, jeśli zostanie utworzona wystąpienie z określonym typem.
Przykład
Po C<int> utworzeniu wystąpienia są tworzone dwie wersje metody F z tym samym podpisem, więc przesłonięcia w klasie D nie mogą zdecydować, do którego z nich należy zastosować przesłonięcia.
Poniższy przykład generuje plik 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
}