我有一个枚举类型(即View)。我想提取这个枚举的一部分顶部,底部,左边,右边,前面,后面,添加到一个组合框中作为ComboBox.DataSource = Enum.GetValues(typeof(View_extracted)).
有可能吗?
enum View {Top,Bottom,Left,Right,Front,Rear,Trimetric,Isometric,Diametric}View_extracted只应包含前6个值:
{Top,Bottom,Left,Right,Front,Rear}发布于 2013-11-25 22:13:26
林克去营救!
Enum.GetValues(typeof(View)).Cast<View>().Take(6);如果你想让它成为一个合适的枚举,你可以和ILGen混在一起,但是它是这样的, way 比它更麻烦。
发布于 2013-11-25 22:21:48
不,完全不可能创建一个类型的View_extracted,它可以使用精确的代码来创建指定的结果。
虽然您可以创建另一个枚举,它的值碰巧具有与另一个枚举相同的名称,但是您可以创建一个方法(该方法必须与您描述的不同),以获得该枚举值的列表,这是一个非常脆弱的系统。
我建议您做的不是将新枚举创建为视图,而是简单地创建一个新方法作为返回该枚举值的视图,类似于:
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
}https://stackoverflow.com/questions/20204454
复制相似问题