【发布时间】:2013-05-14 07:38:57
【问题描述】:
假设我们有这样的代码:
interface I
{
int P { get; }
}
class A : I
{
public virtual int P { get { return 0; } }
}
class B : A
{
public override int P { get { return 1; } }
}
class C : B, I
{
public int P { get { return 2; } }
}
A c = new C();
I ic = new C();
现在的问题是 c.P 和 ic.P 应该是什么?其实我知道会是 1 和 2,但你能解释一下为什么吗?
【问题讨论】:
-
@paulsm4 我不认为这是重复的。
标签: c# inheritance