C# 不带类型的IEnumerable属性
我试图从MSDN中创建一个类似于官方DataGrid.ItemsSource的属性:C# 不带类型的IEnumerable属性,c#,wpf,properties,ienumerable,itemssource,C#,Wpf,Properties,Ienumerable,Itemssource,我试图从MSDN中创建一个类似于官方DataGrid.ItemsSource的属性: public IEnumerable ItemsSource { get; set; } 这提供了对任何派生类中任何类型的支持。有了这个,我可以设置如下内容 var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>(); MyDataGrid.ItemsSource = list; var
public IEnumerable ItemsSource { get; set; }
这提供了对任何派生类中任何类型的支持。有了这个,我可以设置如下内容
var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;
var list=newlist();
MyDataGrid.ItemsSource=列表;
但是,正如MSDN所说,当我试图使IEnumerable的属性不带类型T时,我在VisualStudio上遇到了一个错误:
Using the generic type 'System.Collections.Generic.IEnumerable<T>' requires 1 type arguments
使用泛型类型“System.Collections.generic.IEnumerable”需要1个类型参数
那么,怎么了?您需要使用非泛型类型
System.Collections.IEnumerable
(注意不同的名称空间) 请注意,在.NET4.0+中,您可以使用
IEnumerable
(由于协方差)