使用英语阅读

通过


编译器错误 CS0462

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

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

示例

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

下面的示例生成 CS0462。

C#
// 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  
}