首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Enum值提取

Enum值提取
EN

Stack Overflow用户
提问于 2013-11-25 22:12:42
回答 2查看 260关注 0票数 4

我有一个枚举类型(即View)。我想提取这个枚举的一部分顶部,底部,左边,右边,前面,后面,添加到一个组合框中作为ComboBox.DataSource = Enum.GetValues(typeof(View_extracted)).

有可能吗?

代码语言:javascript
复制
enum View {Top,Bottom,Left,Right,Front,Rear,Trimetric,Isometric,Diametric}

View_extracted只应包含前6个值:

代码语言:javascript
复制
{Top,Bottom,Left,Right,Front,Rear}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-25 22:13:26

林克去营救!

代码语言:javascript
复制
Enum.GetValues(typeof(View)).Cast<View>().Take(6);

如果你想让它成为一个合适的枚举,你可以和ILGen混在一起,但是它是这样的, way 比它更麻烦。

票数 6
EN

Stack Overflow用户

发布于 2013-11-25 22:21:48

不,完全不可能创建一个类型的View_extracted,它可以使用精确的代码来创建指定的结果。

虽然您可以创建另一个枚举,它的值碰巧具有与另一个枚举相同的名称,但是您可以创建一个方法(该方法必须与您描述的不同),以获得该枚举值的列表,这是一个非常脆弱的系统。

我建议您做的不是将新枚举创建为视图,而是简单地创建一个新方法作为返回该枚举值的视图,类似于:

代码语言:javascript
复制
public static IEnumerable<View> ExtractedView()
{
    //return a sequence of the views here, whether it be a hard code list,
    // or a filtered result of a call to Enum.GetValues, or whatever
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20204454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档