Хорошо, я получаю тип 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()
выдает ошибку компилятора: Неожиданный символ ':>' в выражении. Ожидал '.' или другой токен.
Выполнение чего-то вроде
(i :> IDisposable).Dispose()
, конечно, приводит к StackOverflowException
во время выполнения — так как я могу это сделать? Извините, но никогда не сталкивался с чем-то подобным...