是不是C#或底层CLR真的支持多重继承?

naw*_*fal 2 c# inheritance multiple-inheritance

这必须要么讨论,要么我非常愚蠢.有很多类似的线程,为什么C#没有MI,我已经走了最多.但我很想知道C#是否已经暗中支持它了.

由于.NET中的每个类型都来自于System.Object我可以编写一个类

Person : object { }
Run Code Online (Sandbox Code Playgroud)

现在,如果我有

Employee : Person { }
Run Code Online (Sandbox Code Playgroud)

不是真的吗

Employee : object, Person { }
Run Code Online (Sandbox Code Playgroud)

1)Employee类是否已经从两个类继承?

这里存在多重继承的所有问题太对了吗?让我说我有这个:

Person : object
{
    new public Type GetType()
    {
        return null;
    } 
}

Employee : object, Person 
{ 

}
Run Code Online (Sandbox Code Playgroud)

2)现在如果我打电话Employee.GetType()应该打电话Person.GetType()还是object.GetType()?困惑是对的.我觉得不是C#神奇地为object类提供某种继承优先级,因为它已经在 MI的情况下已经存在于许多语言中?

SLa*_*aks 11

你是对遗产的误解.

Employee继承Person,.
Person继承Object.

Employee通过Object 间接地继承Person.
因为Person站在Employee和之间Object,没有MI问题.