CS0462 de erro do compilador

Mensagem de erro

Os membros herdados 'member1' e 'member2' tem a mesma assinatura no tipo 'tipo', para que eles não podem ser substituídos

Este erro ocorre com a introdução de genéricos.Normalmente, não é possível ter duas versões de um método em uma classe com a mesma assinatura.Mas com genéricos, você pode especificar um método genérico pode duplicar outro método, se for instanciado com um determinado tipo.

Exemplo

Quando C<int> é instanciado, duas versões do método F são criados com a mesma assinatura, portanto, a substituir na classe D não é possível decidir qual para aplicar a substituir para.

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
}