问一个很简单的问题,接口方法如果被重载,应该是new还是override?

stonespace 2008-08-08 04:34:56
我有一个基类继承了IDisposable 接口,并实现了Dispose方法,然后又有一个派生类从基类派生,并且需要重新写Dispose方法,

这样做是否有风险?在using语句中能正确调用Dispose吗?

如果可以,那应该是new还是override?
...全文
112 9 打赏 收藏 转发到动态 举报
写回复
用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

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧