我正在尝试以下事情:
[Display(Name = Resources.LcmsBs.Models.UserName)]
[ToolTip(Resources.LcmsBs.ToolTips.UserName)]
public string UserName { get; set; }
我收到以下编译错误:
属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式
避免代码中硬编码常量的最佳做法是什么?是否可以从资源中设置属性值?
我正在尝试以下事情:
[Display(Name = Resources.LcmsBs.Models.UserName)]
[ToolTip(Resources.LcmsBs.ToolTips.UserName)]
public string UserName { get; set; }
我收到以下编译错误:
属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式
避免代码中硬编码常量的最佳做法是什么?是否可以从资源中设置属性值?
您的问题略有不同,但以下问题的答案可能适用于您的问题
DataAnnotations 和 Resources 不能很好地发挥作用
类似于以下内容
[Display(ResourceType = typeof(Resources.LcmsBs.Models), Name = "UserName")]
如果您使用的是 c# 6.0 或更高版本,最好的方法可能是:
[Display(Name = nameof(Resources.LcmsBs.Models.UserName), ResourceType = typeof(Resources.LcmsBs.Models))]