我正在将一个将非托管库包装的 C# 类转换为 F#。我遇到了重写随后的析构函数的看似简单的问题。
class Wrapper {
// P/Invoke ellided
private SomeType x;
public Wrapper() {
x = new SomeType();
Begin();
}
public ~Wrapper() {
End();
}
我现在的简化 F# 代码如下:
type Wrapper() =
[<Literal>]
static let wrappedDll = "Library.dll"
[<DllImport(wrappedDll , EntryPoint = "Begin")>]
static extern void Begin()
[<DllImport(wrappedDll , EntryPoint = "End")>]
static extern void End()
let x = new SomeType()
do
Begin()
如何修改此 F# 代码以获得相同的行为?我对 F# 析构函数的搜索在我拥有的书籍或网络上没有找到任何结果。
谢谢。
您是否尝试过寻找 F# 终结器?
override x.Finalize() = ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)