Error del compilador CS0462
Actualización: noviembre 2007
Mensaje de error
Los miembros heredados 'miembro1' y 'miembro2' tienen la misma firma en el tipo 'tipo'; por tanto, no se pueden reemplazar
The inherited members 'member1' and 'member2' have the same signature in type 'type', so they cannot be overridden
Este error se produce con la introducción de genéricos. Normalmente, no puede haber dos versiones de un método en una clase con la misma firma. Sin embargo, cuando se usan genéricos se puede especificar un método genérico que podría duplicar a otro si se crea una instancia con un tipo concreto.
Ejemplo
Cuando se crea una instancia de C<int>, se crean dos versiones del método F con la misma firma. Por tanto, al efectuarse el reemplazo de la clase D, no se puede determinar a cuál de ellos se aplica el reemplazo.
El código siguiente genera el error 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
}