ArgumentOutOfRangeException в ThreadSafeObservableCollection
Atom Ответить
03.03.2011


Михаил, подскажите, пожалуйста, отчего может возникать эта ошибка? Что-то связанное с добавлением новых ордеров или трейдов.. Откуда возникает, никак не пойму.

03.03.2011 20:24:48 [OpenWealth.App.Application_DispatcherUnhandledException] ERROR: System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.ArgumentOutOfRangeException: Индекс должен находиться в границах этого списка.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.Insert(Int32 index, T item)
в System.Collections.ObjectModel.Collection`1.InsertItem(Int32 index, T item)
в System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
в Ecng.Xaml.ThreadSafeObservableCollection`1.InsertItem(Int32 index, T item)
в Ecng.Xaml.ThreadSafeObservableCollection`1.<>c__DisplayClass2.<InsertItem>b__0()

Теги:


Спасибо:




3 Ответов
Alexander

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


Greene-nsk Перейти
Михаил, подскажите, пожалуйста, отчего может возникать эта ошибка? Что-то связанное с добавлением новых ордеров или трейдов.. Откуда возникает, никак не пойму.

03.03.2011 20:24:48 [OpenWealth.App.Application_DispatcherUnhandledException] ERROR: System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.ArgumentOutOfRangeException: Индекс должен находиться в границах этого списка.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.Insert(Int32 index, T item)
в System.Collections.ObjectModel.Collection`1.InsertItem(Int32 index, T item)
в System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
в Ecng.Xaml.ThreadSafeObservableCollection`1.InsertItem(Int32 index, T item)
в Ecng.Xaml.ThreadSafeObservableCollection`1.<>c__DisplayClass2.<InsertItem>b__0()



Какое значение передаётся в качестве первого в методе Insert?
Спасибо:

Greene-nsk

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


Alexander Перейти
Greene-nsk Перейти
Михаил, подскажите, пожалуйста, отчего может возникать эта ошибка? Что-то связанное с добавлением новых ордеров или трейдов.. Откуда возникает, никак не пойму.

03.03.2011 20:24:48 [OpenWealth.App.Application_DispatcherUnhandledException] ERROR: System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.ArgumentOutOfRangeException: Индекс должен находиться в границах этого списка.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.Insert(Int32 index, T item)
в System.Collections.ObjectModel.Collection`1.InsertItem(Int32 index, T item)
в System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
в Ecng.Xaml.ThreadSafeObservableCollection`1.InsertItem(Int32 index, T item)
в Ecng.Xaml.ThreadSafeObservableCollection`1.<>c__DisplayClass2.<InsertItem>b__0()



Какое значение передаётся в качестве первого в методе Insert?


Я не делаю нигде явно Insert. Делаю так:
_tradesGrid.Trades.Clear();
_ordersGrid.Orders.Clear();

...
sAdapter.PositionManager.Trades.ForEach(_tradesGrid.Trades.Add);
sAdapter.Orders.ForEach(_ordersGrid.Orders.Add);
sAdapter.StopOrders.ForEach(_ordersGrid.Orders.Add);

Автор топика
Спасибо:

RyleT

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


Мне кажется что дело в том, что прежде чем добавлять новые элементы в коллекцию, нужно проверить завершилась ли операция Clear().
Например, сделать проверку Count > 0
Спасибо:


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

loading
clippy