我正在尝试创建一个类似于来自 MSDN 的官方 DataGrid.ItemsSource 的属性:
public IEnumerable ItemsSource { get; set; }
这在任何派生类中提供了对任何类型的支持。有了这个,我可以设置类似
var list = new List<ObservableCollection<KeyValuePair<decimal, bool>>>();
MyDataGrid.ItemsSource = list;
但是当我尝试在没有类型 T 的情况下创建 IEnumerable 的属性时,正如 MSDN 所说,我在 VisualStudio 上收到错误:
Using the generic type 'System.Collections.Generic.IEnumerable<T>' requires 1 type arguments
那么,有什么问题吗?
最佳答案
您需要使用非泛型类型 System.Collections.IEnumerable
.
(注意不同的命名空间)
请注意,在 .Net 4.0+ 中,您可以使用 IEnumerable<object>
相反(由于协方差)。
关于c# - 没有类型的 IEnumerable 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17703353/