Как вызвать методы от конструктора в F#

Обратите очень пристальное внимание на протесты, данные Jon Skeet - "Учитывая, что реализация...". Другими словами, внесите малейшее изменение (несколько потоков, другие обработчики, и т.д.), и Вы рискуете терять инвариантность порядка выполнения.

Делают НЕ , полагаются на событие, заказывая . Все отправки события должны быть логически независимыми, как будто они происходили параллельно. События являются логически независимыми действиями.

я буду идти один шаг вперед и утверждать, что, если необходимо принять порядок на увольнение событий, Вы имеете серьезный недостаток дизайна и/или неправильно используете события.

5
задан Community 23 May 2017 в 12:30
поделиться

2 ответа

IIRC, ключевое слово do может работать здесь:

type Wrapper(args) =
    let tool = new MutableTool()
    do tool.Init(args)

    let lookupTable = //create lookup using tool here
    member this.Lookup(s) = //callers use lookupTable here

Я не уверен, что вы имели в виду в последней строке кода, поэтому я оставил это, как вы написали это ...

8
ответ дан 18 December 2019 в 14:48
поделиться

Вам нужно "делать":

type Foo(args) = 
  let x = new Whatever()
  do x.Bar()

  member ....
5
ответ дан 18 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: