5

我正在尝试以下事情:

 [Display(Name = Resources.LcmsBs.Models.UserName)]
 [ToolTip(Resources.LcmsBs.ToolTips.UserName)]
 public string UserName { get; set; }

我收到以下编译错误:

属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式

避免代码中硬编码常量的最佳做法是什么?是否可以从资源中设置属性值?

4

2 回答 2

10

您的问题略有不同,但以下问题的答案可能适用于您的问题

DataAnnotations 和 Resources 不能很好地发挥作用

类似于以下内容

[Display(ResourceType = typeof(Resources.LcmsBs.Models), Name = "UserName")]
于 2012-11-13T10:43:49.137 回答
4

如果您使用的是 c# 6.0 或更高版本,最好的方法可能是:

[Display(Name = nameof(Resources.LcmsBs.Models.UserName), ResourceType = typeof(Resources.LcmsBs.Models))]
于 2017-08-07T09:02:56.420 回答