日期:2014-05-20  浏览次数:20819 次

关于Dispose()重写的问题
DotNET里面很多实现IDisposable接口的类,为什么不把Dispose()写成virtual?

------解决方案--------------------
因为.net不支持多重继承,而Disposable如果是父类,真正表达业务领域概念的父类就没有办法了。

这是java、.net这种不支持多重继承的开发平台的尴尬——尽管不少人认为用接口来模拟多重继承、一次次重复实现接口的实现代码并不损坏肘关节。
------解决方案--------------------

正解
探讨
因为.net不支持多重继承,而Disposable如果是父类,真正表达业务领域概念的父类就没有办法了。

这是java、.net这种不支持多重继承的开发平台的尴尬——尽管不少人认为用接口来模拟多重继承、一次次重复实现接口的实现代码并不损坏肘关节。

------解决方案--------------------
在实现 IDisposable中的方法的时候,都有哪些方法显式的释放内存?
------解决方案--------------------
因为.net不支持多重继承,而Disposable如果是父类,真正表达业务领域概念的父类就没有办法了。

这是java、.net这种不支持多重继承的开发平台的尴尬——尽管不少人认为用接口来模拟多重继承、一次次重复实现接口的实现代码并不损坏肘关节。
------解决方案--------------------
看不明白啊
------解决方案--------------------
探讨
引用:
因为.net不支持多重继承,而Disposable如果是父类,真正表达业务领域概念的父类就没有办法了。

这是java、.net这种不支持多重继承的开发平台的尴尬——尽管不少人认为用接口来模拟多重继承、一次次重复实现接口的实现代码并不损坏肘关节。


我的意思是说,在实现类中,将Dispose()重写成virtual的呀