没有类型的IEnumerable属性

10

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

public IEnumerable ItemsSource { get; set; }

这提供了对任何类型的支持,并且可以应用在任何派生类中。通过此方法,我可以设置像下面这样的内容:

var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;

但是当我尝试按照MSDN所说的方式,将IEnumerable作为属性而不带有类型T时,在VisualStudio上会出现错误:

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

那么,出了什么问题?
1个回答

21

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

请注意,在 .Net 4.0+ 版本中,由于协变,您可以使用 IEnumerable<object>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接