好的,我B
从基类派生一个类型A
。
A
实现IDisposable
显式,但我必须在 中进行额外的清理B
,所以我IDisposable
在 中实现B
:
interface IDisposable with
member i.Dispose() =
// ... additional work
base.Dispose() // <- want to do but cannot
问题是:如何从基础访问 Dispose 方法?
(base :> IDisposable).Dispose()
产生编译器错误:Unexpected symbol ':>' in expression. Expected '.' or other token.
做类似的事情
(i :> IDisposable).Dispose()
当然StackOverflowException
会在运行时产生 - 那么我该怎么做呢?抱歉,以前从来没有遇到过这样的事情……