← Zurück

.Once().Do()

Раньше (по крайней мере в 4.0.1) можно было сделать так:


this
.When(token.CandlesFinished())
.Once()
.Do(cs => Console.WriteLine(cs.Last().Time));

Теперь эта конструкция подразумевает, что аргумент Do() будет StrategyRule.

Я уже нашел, что теперь .Once() надо писать в конце. Не знаю, зачем это было нужно, но обратная совместимость потерялась. Пишу на случай если это баг.

War dieses Thema hilfreich?

Thema teilen

Kommentare (2)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Church: Не знаю, зачем это было нужно, но обратная совместимость потерялась.

Обратная совместимость осталось.

Church
Church Autor

Если ставить .Once() перед .Do(), то возникает ошибка а-ля:

Error 2 'StockSharp.Algo.Strategies.StrategyRule' does not contain a definition for 'Last' and no extension method 'Last' accepting a first argument of type 'StockSharp.Algo.Strategies.StrategyRule' could be found (are you missing a using directive or an assembly reference?)

Если без .Once(), то все нормально.