社区
C#
帖子详情
问一个很简单的问题,接口方法如果被重载,应该是new还是override?
stonespace
2008-08-08 04:34:56
我有一个基类继承了IDisposable 接口,并实现了Dispose方法,然后又有一个派生类从基类派生,并且需要重新写Dispose方法,
这样做是否有风险?在using语句中能正确调用Dispose吗?
如果可以,那应该是new还是override?
...全文
112
9
打赏
收藏
问一个很简单的问题,接口方法如果被重载,应该是new还是override?
我有一个基类继承了IDisposable 接口,并实现了Dispose方法,然后又有一个派生类从基类派生,并且需要重新写Dispose方法, 这样做是否有风险?在using语句中能正确调用Dispose吗? 如果可以,那应该是new还是override?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
monkey1126
2008-08-08
打赏
举报
回复
其实你复写的,或者掩盖的,都只是基类的Dispose,不用考虑接口。接口的方法是没有方法体的。
meihuiyu
2008-08-08
打赏
举报
回复
override
fuadam
2008-08-08
打赏
举报
回复
楼主去看看.net类库是怎么实现的,一般类中的Dispose不是virtual的,而是在Dispose里面调用另一个函数
godisty
2008-08-08
打赏
举报
回复
override
LQknife
2008-08-08
打赏
举报
回复
[Quote=引用 4 楼 stonespace 的回复:]
谢谢楼上的回答,
我在基类实现接口方法的时候,加上了个virtual,竟然没有编译错误,这是不是说接口方法都是virtual?
[/Quote]
不是啊,virtual的方法你可以不override,但是实现接口就必须实现其中的方法
stonespace
2008-08-08
打赏
举报
回复
谢谢楼上的回答,
我在基类实现接口方法的时候,加上了个virtual,竟然没有编译错误,这是不是说接口方法都是virtual?
ChrisAK
2008-08-08
打赏
举报
回复
override
xhan2000
2008-08-08
打赏
举报
回复
[Quote=引用 1 楼 hiddkiller 的回复:]
override
[/Quote]
override要彻底些,new的话意义不一样,一般用override
hiddkiller
2008-08-08
打赏
举报
回复
override
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章