【发布时间】:2016-06-17 18:36:53
【问题描述】:
我有一个使用组合框的用户控件,其源绑定到类型为Enum 的IEnumerable(我有几种不同类型的用户定义枚举要在用户控件中使用,因此请使用通用@ 987654323@ 在我的用户控件的支持代码中)。但是,当我尝试使用用户控件在项目的支持代码中创建IEnumberable 列表时,我无法将我自己的枚举类型的IEnumerable 转换为通用枚举IEnumerable。
我收到以下错误:
当我尝试转换为
Enum[]时,无法将MyEnumType[]类型的对象转换为System.Enum[]类型。给出此错误的代码是:
public IEnumberable<Enum> MyEnums { get { return (Enum[])Enum.GetValues(typeof(MySpecificEnumType)); } }
我应该如何将我的枚举类型列表转换为通用 Enum 类型的列表?或者我应该在我的用户控件的支持代码中使用不同类型的IEnumerable?
【问题讨论】:
-
这是个坏主意。不要在用户控件中使用 generic
IEnumerable<T>。使用非泛型IEnumerable作为ComboBox的项目源。