Обновление 4.0.4 - не работают правила стратегий

Обновление 4.0.4 - не работают правила стратегий
Atom
11/7/2011
Supervisor


Обновился 4.0.3 -> 4.0.4 Перестали работать все правила стратегий с передаваемыми параметрами:


Tags:


Thanks:


esper

Avatar
Date: 11/7/2011
Reply


.Do(LogNewOrder)
Thanks:

frontman

Avatar
Date: 11/7/2011
Reply


А разве в версии 4.0.3 правила записываются не так

this.When(this.StrategyNewOrder())
.Do(DetectTradePrice)

В версии 4.0.4 точно так.

И какая сигнатура у методов DetectTradePrice и LogNewPrder?

Thanks:

Supervisor

Avatar
Date: 11/7/2011
Reply


frontman: И какая сигнатура у методов DetectTradePrice и LogNewPrder?

void DetectTradePrice(IEnumerable) void LogNewOrder(Order)

Раньше я считал что тип после Do - это тип передаваемого значения в делегат, а оказывается - возвращаемого? Странно что раньше все работало нормально и не ругалось :)

Это исправил, спасибо, но теперь возник другой вопрос: В 4.0.3 в классе моего правила стратегии такая конструкция работала:

private void OnMyTradeDetected(MyDetectedTrade trade)
			{
				Activate(trade);
			}

Теперь ругается на аргумент trade к Activate. Я так понимаю его надо прописать где-то, только не пойму где [confused]

Thanks:

frontman

Avatar
Date: 11/7/2011
Reply


Supervisor: ... Раньше я считал что тип после Do - это тип передаваемого значения в делегат, а оказывается - возвращаемого? Странно что раньше все работало нормально и не ругалось :) ... Раньше так и было.

Thanks:

Supervisor

Avatar
Date: 11/7/2011
Reply


frontman:

Supervisor: ... Раньше я считал что тип после Do - это тип передаваемого значения в делегат, а оказывается - возвращаемого? Странно что раньше все работало нормально и не ругалось :) ... Раньше так и было. Получается, в 4.0.3 код Do(DetectTradePrice) должен работать, а он не работает. Работает только Do<IEnumerable>(DetectTradePrice)

Thanks:

esper

Avatar
Date: 11/7/2011
Reply


Supervisor: Теперь ругается на аргумент trade к Activate. Я так понимаю его надо прописать где-то, только не пойму где [confused] Какую ошибку выдает?

Thanks:

frontman

Avatar
Date: 11/7/2011
Reply


Supervisor:

frontman:

Supervisor: ... Раньше я считал что тип после Do - это тип передаваемого значения в делегат, а оказывается - возвращаемого? Странно что раньше все работало нормально и не ругалось :) ... Раньше так и было. Получается, в 4.0.3 код Do(DetectTradePrice) должен работать, а он не работает. Работает только Do<IEnumerable>(DetectTradePrice)

Я просто не помню с какой версии эти изменения появились. Может быть в 4.0.3 их и не было еще[blush]

Thanks:

Supervisor

Avatar
Date: 11/7/2011
Reply


esper:

Supervisor: Теперь ругается на аргумент trade к Activate. Я так понимаю его надо прописать где-то, только не пойму где [confused] Какую ошибку выдает? "Ни одна из перегрузок метода "Activate" не принимает "1" аргументов"

Thanks:

esper

Avatar
Date: 11/7/2011
Reply


Supervisor: "Ни одна из перегрузок метода "Activate" не принимает "1" аргументов" Попробуйте наследование от StrategyRule, а не StrategyRule

Thanks: Supervisor

Supervisor

Avatar
Date: 11/7/2011
Reply


esper:

Supervisor: "Ни одна из перегрузок метода "Activate" не принимает "1" аргументов" Попробуйте наследование от StrategyRule, а не StrategyRule Спасибо большое, помогло!

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy