[英]How to convert IEnumerable<MySpecificEnumType> to generic IEnumerable<Enum> in WPF (C#)
我有一個使用組合框的用戶控件,其組合源綁定到Enum
類型的IEnumerable
(我在用戶控件中使用了幾種不同類型的用戶定義枚舉,因此請在支持代碼中使用通用IEnumerable<Enum>
我的用戶控件)。 但是,當我嘗試使用用戶控件在項目的支持代碼中創建IEnumberable
列表時,無法將我自己的枚舉類型的IEnumerable
轉換為通用的Enum IEnumerable
。
我收到以下錯誤:
當我嘗試轉換為
Enum[]
時,無法將MyEnumType[]
類型的對象轉換為System.Enum[]
類型。 給出此錯誤的代碼是:
public IEnumberable<Enum> MyEnums { get { return (Enum[])Enum.GetValues(typeof(MySpecificEnumType)); } }
我應該如何從枚舉類型的列表轉換為通用Enum
類型的列表? 還是應該在用戶控件的備用代碼中使用其他類型的IEnumerable
?
如果您確實希望獲得IEnumerable<Enum>
,則可以使用Cast
擴展方法:
return Enum.GetValues(typeof(MySpecificEnumType)).Cast<Enum>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.