Microsoft.OpenApi.Extensions Enum.GetDisplayName() 不起作用,复制过来时工作正常
Microsoft.OpenApi.Extensions Enum.GetDisplayName() doesn't work, works fine when copied over
想要一种无需创建枚举即可快速设置枚举显示的方法 class,我遇到了 [Display(Name = "display name")]
本来打算自己写方法,结果发现Microsoft.OpenApi.Extensions.EnumExtensions.GetDisplayName
.
public static string GetDisplayName(this Enum enumValue)
{
var attribute = enumValue.GetAttributeOfType<DisplayAttribute>();
return attribute == null ? enumValue.ToString() : attribute.Name;
}
它不起作用,返回 enum.ToString()
值,但如果我将方法原封不动地复制到我的项目中,它就可以正常工作。知道为什么吗? 运行.net 5.0
他们检查自己的 Microsoft.OpenApi.Attributes.DisplayAttribute
。
要么滚动你自己的扩展方法,指向 Systems.ComponentModel.DataAnnotations.DisplayAttribute
,要么(不太优选)将他们的 DisplayAttribute
应用到你的枚举中。
想要一种无需创建枚举即可快速设置枚举显示的方法 class,我遇到了 [Display(Name = "display name")]
本来打算自己写方法,结果发现Microsoft.OpenApi.Extensions.EnumExtensions.GetDisplayName
.
public static string GetDisplayName(this Enum enumValue)
{
var attribute = enumValue.GetAttributeOfType<DisplayAttribute>();
return attribute == null ? enumValue.ToString() : attribute.Name;
}
它不起作用,返回 enum.ToString()
值,但如果我将方法原封不动地复制到我的项目中,它就可以正常工作。知道为什么吗? 运行.net 5.0
他们检查自己的 Microsoft.OpenApi.Attributes.DisplayAttribute
。
要么滚动你自己的扩展方法,指向 Systems.ComponentModel.DataAnnotations.DisplayAttribute
,要么(不太优选)将他们的 DisplayAttribute
应用到你的枚举中。