Функция имеет параметр типа object. Я отладил его, чтобы посмотреть, какой тип данных отправил мне другая часть программы. База была из ObservableCollection. Как мне преобразовать это в список?
Просто нужно добавить пространство имен using System.Linq;
using System.Linq;
и используйте метод ToList() в объекте ObservableCollection
ToList()
В зависимости от типа объекта в ObservableCollection ... Я буду считать, что это int для этого примера:
ObservableCollection
int
IEnumerable<int> obsCollection = (IEnumerable<int>)GetCollection(); var list = new List<int>(obsCollection);
Учитывая, что ObservableCollection<T> реализует IEnumerable<T>, вы можете передать его конструктору List<T>:
ObservableCollection<T>
IEnumerable<T>
List<T>
List<T> myList = new List<T>(myObservableCollection);
Где T - это тип предметов в коллекции.
T
ObservableCollection реализует IList<T>, поэтому вы должны иметь возможность использовать ToList().
IList<T>
http://msdn.microsoft.com/en-us/library/bb342261.aspx
Свойство Items возвращает IList. См. http://msdn.microsoft.com/en-us/library/ms132435.aspx
Я думаю, что проблема в том, что ObservableCollection может быть изменен на лету, когда вы пытаетесь преобразовать его в Список или использовать как таковой, поэтому вам может понадобиться использовать своего рода сторожевой таймер, пока ObservableCollection не завершит работу