测试代码如下:
public class EnumExtensionsTest
{
enum SiginStatus
{
[Description("登录失败")]
Failed
}
[Fact]
public void GetDescriptionTest()
{
Assert.Equal("登录失败", SiginStatus.Failed.GetDescription());
}
}
未完成的Enum类型的扩展方法如下:
namespace System
{
public static class EnumExtensions
{
public static string GetDescription(this Enum value)
{
//...
}
}
}
在 stackexchange 上找到了解决方法:
public static class EnumExtensions
{
public static string GetDescription(this Enum value)
{
return value.GetType()
.GetMember(value.ToString())
.FirstOrDefault()?
.GetCustomAttribute<DescriptionAttribute>()?
.Description;
}
}
mark!