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

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


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


Теги:


Спасибо:


esper

Фотография
Дата: 07.11.2011
Ответить


.Do(LogNewOrder)
Спасибо:

frontman

Фотография
Дата: 07.11.2011
Ответить


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

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

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

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

Спасибо:

Supervisor

Фотография
Дата: 07.11.2011
Ответить


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

void DetectTradePrice(IEnumerable) void LogNewOrder(Order)

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

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

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

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

Спасибо:

frontman

Фотография
Дата: 07.11.2011
Ответить


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

Спасибо:

Supervisor

Фотография
Дата: 07.11.2011
Ответить


frontman:

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

Спасибо:

esper

Фотография
Дата: 07.11.2011
Ответить


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

Спасибо:

frontman

Фотография
Дата: 07.11.2011
Ответить


Supervisor:

frontman:

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

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

Спасибо:

Supervisor

Фотография
Дата: 07.11.2011
Ответить


esper:

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

Спасибо:

esper

Фотография
Дата: 07.11.2011
Ответить


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

Спасибо: Supervisor

Supervisor

Фотография
Дата: 07.11.2011
Ответить


esper:

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

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy