Erro do Compilador CS0462
Os membros herdados 'member1' e 'member2' têm a mesma assinatura no tipo 'type', portanto, eles não podem ser substituídos
Esse erro surge com a introdução de genéricos. Normalmente, você não pode ter duas versões de um método em uma classe com a mesma assinatura. Porém, com genéricos, você pode especificar um método genérico que pode duplicar outro método se ele for instanciado com um tipo específico.
Quando C<int>
for instanciada, duas versões do método F
são criadas com a mesma assinatura, portanto, a substituição na classe D
não pode decidir a qual aplicar a substituição.
O exemplo a seguir gera 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
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: