编译器错误 CS0462

更新:2007 年 11 月

错误消息

继承的成员“member1”和“member2”在类型“type”中具有相同的签名,因此不能重写这些成员

此错误是由于引入泛型而引起的。正常情况下,类中的方法不能有两个具有相同签名的版本。但是对于泛型,如果泛型方法使用某个特定的类型实例化,则可以指定一个可能与另一个方法重复的泛型方法。

示例

当实例化 C<int> 时,将为方法 F 创建两个具有相同签名的版本,所以类 D 中的重写无法确定对哪个方法应用重写。

下面的示例生成 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
}