using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FlexJobApi.Core { /// /// 枚举工具 /// public static class EnumUtils { /// /// 获取模型 /// /// /// public static async Task GetModel(this Type type) { var model = new EnumModel(); var xmlDoc = await XmlDocUtils.GetXmlDocAsync(); var xmlDocMember = await XmlDocUtils.GetXmlDocMemberAsync(type, xmlDoc); model.Name = type.Name; model.Description = xmlDocMember?.Summary; foreach (var enumValue in Enum.GetValues(type)) { var item = new EnumModelItem(); item.Name = enumValue.ToString(); item.Value = (int)enumValue; var enumMember = type.GetMember(enumValue.ToString()).FirstOrDefault(); var enumXmlDocMember = await XmlDocUtils.GetXmlDocMemberAsync(enumMember, xmlDoc); item.Description = enumXmlDocMember?.Summary; model.Items.Add(item); } return model; } } }