IEnumerable свойство без тип

Опитвам се да направя свойство като официалния DataGrid.ItemsSource от MSDN:

public IEnumerable ItemsSource { get; set; }

Това осигурява поддръжка от всякакъв тип, във всеки производен клас. С това мога да задам нещо подобно

var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;

Но когато се опитам да направя свойство на IEnumerable без Type T, точно както казва MSDN, получавам грешка на VisualStudio:

Using the generic type 'System.Collections.Generic.IEnumerable<T>' requires 1 type arguments

И така, какво не е наред?


person Guilherme    schedule 17.07.2013    source източник


Отговори (1)


Трябва да използвате необобщения тип System.Collections.IEnumerable.
(обърнете внимание на различното пространство от имена)

Имайте предвид, че в .Net 4.0+ можете да използвате IEnumerable<object> вместо това (поради ковариация).

person SLaks    schedule 17.07.2013