как получить объект события
Добрый день!
При реализации событийной модели в своей стратегии столкнулся с невозможностью получить объект, инициализировавшее событие, в его обработчике.
На моем примере, это выглядит так у меня по определенным условиям генерятся заявки, и мне нужно при их исполнении произвести некоторые расчеты c объемом и ценой, для чего в моем обработчике MatchedOrder нужно получить ссылку на исполненную заявку. Событие вызывается так
this
.When(order.Matched())
.Do(MatchedOrder);
Как можно в обработчике MatchedOrder получить ссылку на исполненный ордер? Вроде бы есть возможность передать в обработчик объект, если реализовать его как
public StrategyRule Do<TArg>(
Action<TArg> action
)
, но метод позволяющий передать туда объект защищен
protected void Activate(
Object value
)
Хорошо было бы для стандартных событий реализовать Do<TArg>, например, для Matched() реализовать свой Do<Order>,с передачей в него ссылки на исполнившуюся заявку.