IEnumerable属性没有类型

时间:2013-07-17 15:02:09

标签: c# wpf properties ienumerable itemssource

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

public IEnumerable ItemsSource { get; set; }

这在任何派生类中提供任何类型的支持。有了这个,我可以设置像

这样的东西
var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;

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

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

那么,出了什么问题?

1 个答案:

答案 0 :(得分:17)

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

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