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;
}
}
}