using System; using System.Collections; using System.Collections.Generic; namespace WalkingTec.Mvvm.Core.Extensions { /// /// 枚举扩展函数 /// public static class EnumExtension { #region 将枚举类型转化为下拉列表 /// /// 将枚举类型转化为下拉列表 /// /// 枚举类型 /// value /// pleaseSelect /// 下拉菜单数据列表 public static List ToListItems(this Type self, object value = null, bool pleaseSelect = false) { string[] names = null; Array values = null; //如果是枚举 if (self.IsEnum) { names = Enum.GetNames(self); values = Enum.GetValues(self); } //如果是nullable的枚举 if (self.IsGenericType && self.GenericTypeArguments[0].IsEnum) { names = Enum.GetNames(self.GenericTypeArguments[0]); values = Enum.GetValues(self.GenericTypeArguments[0]); } //生成下拉菜单数据 List rv = new List(); if (names != null) { for(int i=0;i