← Zurück

Как теперь сохранять стаканы?

Добрый день! Пытаюсь сохранять стаканы как описано в документации и как работало в старых версиях, кратко так:

var depths = new List<MarketDepth>(); depths.add(Mdepth.Clone()); var DepthStorage = storage1.GetMarketDepthStorage(cursec); DethStorage.Save(depths);

Получаю эксепшн: Не удалось привести тип объекта "StockSharp.BusinessEntities.MarketDepth" к типу "StockSharp.Messages.QuoteChangeMessage". Как можно привести одно к другому?

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

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

esper
esper

Какая версия? Как создается storage1?

Garry
Garry Autor

Версия последняя 4.2.25 var storage1 = new StorageRegistry(); ((LocalMarketDataDrive)storage1.DefaultDrive).Path = "path";

esper
esper

Не воспроизводится. Полный стектрейс какой?

Garry
Garry Autor

{System.InvalidCastException: Не удалось привести тип объекта "StockSharp.BusinessEntities.MarketDepth" к типу "StockSharp.Messages.QuoteChangeMessage". в System.Linq.Enumerable.<CastIterator>d__b11.MoveNext() в System.Linq.Lookup2.Create[TSource](IEnumerable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer) в System.Linq.GroupedEnumerable3.GetEnumerator() в #=qF0wJAt8A0U0VZNOg6esDW43L_m3cEtaqP6O$2bmYf6lsbTMqFO1DV_RWXAW2P3xr.Save(IEnumerable1 #=qy$b3GDqr9pASWh6DBqwo2Q==) в #=qF0wJAt8A0U0VZNOg6esDW43L_m3cEtaqP6O$2bmYf6lsbTMqFO1DV_RWXAW2P3xr.#=qbkfHha9zpmAl9wIoJYyNC0z$BHlYpLmsVmlhvua97pOyWD1DifUFKGjIhfz5ta8bZLb3CWz6Fmin3qgz4JffkQ==(IEnumerable #=q$TY8t$FSCaMvnbAOWPzRAw==) в WindowsFormsApplication2.Form1.stakan_vivod(Object sender, ElapsedEventArgs e) в c:\Projects\SkyDaPlaza\WindowsFormsApplication2\Form1.cs:строка 863}

Mikhail Sukhov
Mikhail Sukhov

Garry: IMarketDataStorage DepthStorage = storage1.GetMarketDepthStorage(cursec); DethStorage.Save(depths);

сделайте так.

Garry
Garry
Garry Autor

Спасибо огромное!