вызов явный метод интерфейса базового класса в F#

Хорошо, я получаю тип 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во время выполнения — так как я могу это сделать? Извините, но никогда не сталкивался с чем-то подобным...

13
задан pad 5 March 2012 в 14:53
поделиться