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