最近我发现 C# 允许
例如,IScreen
在 Caliburn.Micro 中的http://caliburnmicro.codeplex.com/SourceControl/latest#src/Caliburn.Micro/IScreen.cs
namespace Caliburn.Micro
{
public interface IScreen : IHaveDisplayName, IActivate, IDeactivate,
IGuardClose, INotifyPropertyChangedEx
{
}
}
我明白为什么这是有用的,因为它意味着实现的类IScreen
也需要实现其他接口。
但我想知道 C# 如何处理该编译器和运行时。
这个问题的一点背景/背景:
我来自接口定义方法表的背景,实现接口的类既有自己的方法表,也有指向它们实现的接口的方法表的指针。
盘旋在我脑海中的子问题源于我过去与人们进行的各种多类继承讨论,我认为它们也适用于这个案例:
- 如果一个接口能够从多个基接口继承,那么该表中方法的顺序如何?
- 如果这些接口有共同的祖先怎么办:这些方法会在表中出现多次吗?
- 如果这些接口有不同的祖先,但方法名称相似怎么办?
(我在这里使用了方法一词,暗示接口中定义的属性将具有 get_ 或 set_ 方法)。
非常感谢对此的任何见解,以及如何更好地表达这个问题的提示。