編譯器錯誤 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
}