没有类型的IEnumerable属性
本文关键字:IEnumerable 属性 类型 | 更新日期: 2023-09-27 18:23:42
我正在尝试制作一个类似官方DataGrid.ItemsSource的属性,来自MSDN:
public IEnumerable ItemsSource { get; set; }
这提供了对任何派生类中的任何类型的支持。有了这个,我可以设置类似的东西
var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;
但是,当我试图使IEnumerable的属性不带类型T时,正如MSDN所说,我在VisualStudio:上遇到了一个错误
Using the generic type 'System.Collections.Generic.IEnumerable<T>' requires 1 type arguments
那么,怎么了?
您需要使用非泛型类型System.Collections.IEnumerable
(注意不同的名称空间)
请注意,在.Net 4.0+中,您可以使用IEnumerable<object>
(由于协方差)。