我有一个本地化的应用程序,我想知道是否可以将某个模型属性的DisplayName
设置为来自资源文件的值。
我希望实现类似下面这样的操作:
public class MyModel {
[Required]
[DisplayName(Resources.Resources.labelForName)]
public string name{ get; set; }
}
但是编译器提示: "属性参数必须是常量表达式、typeof 表达式或属性参数类型的数组创建表达式",因此我无法这样做 :(
是否有任何解决方法?我正在手动输出标签,但我需要这些来验证输出!
Name = nameof(Resources.Resources.labelForName)
代替Name = "labelForName"
。这样做不仅使代码更易读,而且可以在重构时帮助减少因为错误字符串而引起的问题。 - Uwe Keim