我正在尝试从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
那么,出了什么问题?
答案 0 :(得分:17)
您需要使用非泛型类型System.Collections.IEnumerable
(注意不同的命名空间)
请注意,在.Net 4.0+中,您可以使用IEnumerable<object>
代替(由于协方差)。