c# – 具有内部基础的接口继承
我想知道是否有办法完成以下任务:
在我的项目中,我定义了一个界面,让我们说IFruit.此接口具有公共方法GetName().我还声明了一个实现IFruit的接口IApple,并公开了一些其他方法,如GetAppleType()或其他东西.有更多的水果,如IBanana,ICherry,等等. 现在在外面,我只希望能够使用实际的水果实现而不是IFruit本身.但我不能将IFruit接口声明为私有或内部接口,因为继承的接口会说“无法实现,因为基类不易访问”. 我知道这可以用抽象实现,但在这种情况下这不是一个选项:我真的需要使用接口.有这样的选择吗? 更新 internal interface IFruit { public string GetName(); } 但由于不太容易访问的基本接口,这将无法编译. 解决方法
你真的不可能做你正在尝试的事情,但你可以使用带有[Obsolete]属性的IFruit界面让人们离开,并提供说明原因的消息.
在您的IBanana,IApple,…界面上,禁用显示的过时警告. [Obsolete] public interface IFruit { ... } #pragma warning disable 612 public interface IBanana : IFruit { ... } #pragma warning restore 612 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |