c# - 没有类型的 IEnumerable 属性

标签 c# wpf properties ienumerable itemssource

我正在尝试创建一个类似于来自 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/

相关文章:

c# - MvvmCross 和 MonoTouch : remove top bar

c# - 将希伯来字母转换为等效数字

c# - 我们可以在 Mac OS X 上运行 C#/WPF 应用程序吗?

c# - 将多个数组绑定(bind)到 WPF 数据网格

objective-c - 声明结构类型的 Objective-C 属性和初始化

VB 中的属性

c# - 新窗口打开后的位置

c# - 使用 MVVM 取消 WPF 中的组合框选择

python - 构造一个对象,该对象在每次访问时都会更改其状态并且表现得像一个变量

c# - 记录具有保存敏感数据(待散列)属性的对象