F # Equivalente ao destruidor
Estou traduzindo uma classe C # que agrupa uma biblioteca não gerenciada em F #. Encontrei o problema aparentemente simples de reescrever o destruidor a segui
class Wrapper {
// P/Invoke ellided
private SomeType x;
public Wrapper() {
x = new SomeType();
Begin();
}
public ~Wrapper() {
End();
}
O código F # simplificado que tenho neste momento é o seguinte:
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()
Como posso modificar esse código F # para ter o mesmo comportamento? Minha pesquisa pelo destruidor de F # não encontrou resultados nos livros que tenho ou na Web.
Obrigado