【发布时间】:2015-09-29 06:24:52
【问题描述】:
我对 c# 中的覆盖有疑问。 为什么我不能在 c# 中覆盖以派生类作为参数的方法?
像这样:
class BaseClass
{
}
class ChildClass:BaseClass
{
}
abstract class Class1
{
public virtual void Method(BaseClass e)
{
}
}
abstract class Class2:Class1
{
public override void Method(ChildClass e)
{
}
}
【问题讨论】:
-
你尝试的时候发生了什么?
-
那行不通。当您覆盖一个方法时,它必须具有相同的签名。这意味着相同的确切参数。
标签: c# overriding