IEnumerable属性没有类型

Gui*_*rme 10 c# wpf ienumerable properties itemssource

我正在尝试从MSDN创建类似官方DataGrid.ItemsSource的属性:

public IEnumerable ItemsSource { get; set; }
Run Code Online (Sandbox Code Playgroud)

这在任何派生类中提供任何类型的支持.有了这个,我可以设置类似的东西

var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在没有Type T的情况下创建IEnumerable的属性时,就像MSDN所说的那样,我在VisualStudio上遇到错误:

Using the generic type 'System.Collections.Generic.IEnumerable<T>' requires 1 type arguments
Run Code Online (Sandbox Code Playgroud)

那么,有什么不对?

SLa*_*aks 20

您需要使用非泛型类型System.Collections.IEnumerable.
(注意不同的命名空间)

请注意,在.Net 4.0+中,您可以使用IEnumerable<object>(由于协方差).