Творог:
Спасибо за наводку, ReSharper поставил.
Но я не вижу где объявляется depths, что он содержит, что возвращает. Это делегат?
Почему дважды повторяется оператор => ?
Сначала отправляются пустые параметры () => OnMarketDepthsChanged(depths), а потом всё остальное? Какая цепочка выполнения?
Я Вам удочку дал (ReSharper или R#), а Вы продолжаете требовать рыбу...
Первое depth - согласно контекстной подсказке - (parameter) IEnumerable <MarketDepth>
Объявляется он в Вашей строчке и определяется компилятором из контексту - по синтакису выражения и используемых в них типах
В частности событием, которое, опять же можно посмотреть через R#, определяется в StockSharp.Algo.BaseTrader:
public virtual event Action<IEnumerable<MarketDepth>> MarketDepthsChanged
{
}
Посм., что такое Action, Event, Event Handler, delegate
Можете ничего не писать дважды, написав, для прикола:
object depths2 = null;
Trader.MarketDepthsChanged += depths => OnMarketDepthsChanged(depths2);
private void OnMarketDepthsChanged(object whatEver)
{
throw new NotImplementedException();
}
и вообще не использовать лямбда-выражения!
Возвращаясь к Вашему выражению, пишите в коде изначальное
Trader.MarketDepthsChanged += whatEver => this.GuiAsync(() => OnMarketDepthsChanged(whatEver));
//вставляете, используя ReSharper, реализацию OnMarketDepthsChanged()
private void OnMarketDepthsChanged(IEnumerable<MarketDepth> asfsdf)
{
throw new NotImplementedException();
}
Разворачиваете, используя ReSharper, рядом стоящие закомментированные строчки - эквивалентны:
Trader.MarketDepthsChanged +=
whatEver => this.GuiAsync(() => OnMarketDepthsChanged(whatEver));
в
Trader.MarketDepthsChanged += OnTraderOnMarketDepthsChangedOrWhatEver;
private void OnTraderOnMarketDepthsChangedOrWhatEver(IEnumerable<MarketDepth> whatEver)
{
//расскомментировать любую строчку - они эквивалентны
//this.GuiAsync(() => OnMarketDepthsChanged(whatEver));
//XamlHelper.GuiAsync(this, () => OnMarketDepthsChanged(whatEver));
//XamlHelper.GuiAsync(this, delegate { OnMarketDepthsChanged(whatEver); });
}
Так понятнее?