草庐IT

IContract

全部标签

c# - 为什么 C# 中的基类允许在不继承接口(interface)契约的情况下实现接口(interface)契约?

我偶然发现了C#的这个“特性”——实现接口(interface)方法的基类不必从它派生。例子:publicinterfaceIContract{voidFunc();}//NotethatBasedoes**not**derivefromIContractpublicabstractclassBase{publicvoidFunc(){Console.WriteLine("Base.Func");}}//NotethatDeriveddoes*not*provideimplementationforIContractpublicclassDerived:Base,IContract{}

c# - 为什么 C# 中的基类允许在不继承接口(interface)契约的情况下实现接口(interface)契约?

我偶然发现了C#的这个“特性”——实现接口(interface)方法的基类不必从它派生。例子:publicinterfaceIContract{voidFunc();}//NotethatBasedoes**not**derivefromIContractpublicabstractclassBase{publicvoidFunc(){Console.WriteLine("Base.Func");}}//NotethatDeriveddoes*not*provideimplementationforIContractpublicclassDerived:Base,IContract{}