假设我们有这样的代码:C#复杂的继承
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,但你能解释我为什么吗?
可能重复[继承与C#中的接口](http://stackoverflow.com/questions/6188827/inheritance-vs-interface-in-c-sharp) – paulsm4
@ paulsm4我不认为它是重复的。 – gsharp