Свойство 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

Итак, что не так?

Ответ 1

Вам нужно использовать не общий тип System.Collections.IEnumerable.
(обратите внимание на другое пространство имен)

Обратите внимание, что в .Net 4.0+ вы можете вместо этого использовать IEnumerable<object> (из-за ковариации).