加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 接口继承

发布时间:2020-12-15 06:29:00 所属栏目:百科 来源:网络整理
导读:如果我有一个界面: interface IFoo{ int Offset {get;}} 我可以这样吗 interface IBar: IFoo{ int Offset {set;}} 那么IBAR的消费者能否设置或获得? 解决方法 不,你不行! (我即将写“是”,但是在阅读安东尼的帖子后,尝试了一些调整,我发现答案是没有的!)
如果我有一个界面:
interface IFoo
{
    int Offset {get;}
}

我可以这样吗

interface IBar: IFoo
{   
    int Offset {set;}
}

那么IBAR的消费者能否设置或获得?

解决方法

不,你不行!

(我即将写“是”,但是在阅读安东尼的帖子后,尝试了一些调整,我发现答案是没有的!)

class FooBar : IFoo,IBar
{
    public int Offset{get;set;}
}

(会产生Anthony指出的警告,可以通过添加“new”关键字来修复.)

在尝试代码时:

IBar a = new FooBar();
a.Offset = 2;
int b = a.Offset;

最后一行会生成一个编译错误,因为您已经隐藏了IBar的Offset设置器.

编辑:修改类中属性上的accesibillity修饰符.安东尼!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读