将 Enum 类型转换为 IList
嗨
如何将 enum
转换为 IList
?
假设您要读取 FormWindowState
枚举中的所有元素,并返回包含 Normal
、Minimized
的 IList
和最大化
Hi
How can I convert an enum
to IList
?
Suppose you want to read all elements in FormWindowState
enum, and return an IList<FormWindowState>
containing Normal
, Minimized
and Maximized
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
Enum.GetValues()
。例如:它实际上返回一个
FormWindowState[]
但无论如何都适当地实现了IList
。如果您使用枚举进行了大量工作并且想要一种更类型安全的方法,您可能需要查看我的 Unconstrained Melody 项目也是如此。
Use
Enum.GetValues()
. For example:It actually returns a
FormWindowState[]
but that implementsIList<T>
appropriately anyway.If you're doing a lot of work with enums and you want a more type-safe approach, you may want to look at my Unconstrained Melody project too.
这仅适用于这种情况,即您只有 3 个枚举成员。否则使用 Jon Skeet 的解决方案。
This is just for this case, when you have only 3 enum members. Otherwise use the solution of Jon Skeet.