gpt4 book ai didi

c# - 如何将 Display 属性添加到外部枚举?

转载 作者:行者123 更新时间:2023-11-30 17:41:46 30 4
gpt4 key购买 nike

我正在为一些只有一定数量选项的属性使用枚举(例如性别)。我使用 @Html.EnumDropDownListFor(...) 呈现这些枚举,它使用 Display 属性正确呈现选项(这些值来自资源,因为它们需要可翻译)。

public enum Gender
{
[Display(Name = "LabelMale", ResourceType = typeof(Translation))]
Male,
[Display(Name = "LabelFemale", ResourceType = typeof(Translation))]
Female
}

但这些枚举来自无法编辑或无权访问 System.ComponentModel.DataAnnotations 命名空间的外部项目。所以我无法将所需的 Display 属性添加到这些枚举中的值。

View 模型有同样的问题,但对于 View 模型,我可以使用 MetadataType(...) 属性。

但是这不适用于枚举。

是否有类似的解决方案以便我可以使用可翻译的枚举?

最佳答案

你可以尝试使用TypeDesciptor在运行时添加属性。从 asp.net-mvc 框架读取这些属性时可能会出现一个问题,如果它们不使用 TypeDescriptor 来解析这些属性。

但你可以试一试。

关于c# - 如何将 Display 属性添加到外部枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32478351/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com