簡體   English   中英

如何轉換IEnumerable <MySpecificEnumType> 通用IEnumerable <Enum> 在WPF(C#)中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM