http://blogs.msdn.com/b/mcsuksoldev/archive/2011/06/05/f-class-library-template.aspx

евожу класс 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 # деструктора не дал результатов ни в моих книгах, ни в Интернете.

Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос