public static List <IEnumValue> GetEnumValues(Type type)
{
if (type is null)
{
throw new ArgumentNullException(nameof(type));
}
if (type.IsEnum)
{
List <IEnumValue> Values = new List <IEnumValue>();
foreach (string Name in Enum.GetNames(type))
{
Values.Add(
new EnumValue()
{
Value = Convert.ChangeType(
Enum.Parse(type, Name),
Enum.GetUnderlyingType(type)
).ToString(),
Label = Name
});
}
return(Values);
}
else
{
return(null);
}
}