接口和扩展ApplicationClass
我正在尝试在F#中编写一个模块,通过提取行,列等,以及types转换等,使得使用Excel更容易。 我想要做的第一件事就是扩展各种类/types来实现IDisposable
接口。 我试图写下如下的东西
type Excel.ApplicationClass with interface IDisposable with member this.Dispose() = this.excel.Quit() Marshal.ReleaseComObject(this.excel) |> ignore
我没有意识到的是,我会得到以下错误“所有实现的接口应该声明的types的初始声明”。
我的问题如下:由于我不允许使用接口来扩展types,我还能做什么?
如果你从基类inheritance,它可以工作,就像这样
type myAppClass() = inherit Excel.ApplicationClass() //may not be correct signature - you need to match the base constructor interface IDisposable with member this.Dispose() = //function body