来自资源的DisplayName属性?
我有一个本地化的应用程序,我想知道是否可以DisplayName
从Resource中为特定模型属性设置。
我想做这样的事情:
public class MyModel { [Required]
[DisplayName(Resources.Resources.labelForName)]
public string name{ get; set; }
}
但是我不能接受,正如编译器所说:“属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式” :(
有什么解决方法吗?我正在手动输出标签,但是验证器输出需要这些标签!
回答:
如何编写自定义属性:
public class LocalizedDisplayNameAttribute: DisplayNameAttribute{
public LocalizedDisplayNameAttribute(string resourceId)
: base(GetMessageFromResource(resourceId))
{ }
private static string GetMessageFromResource(string resourceId)
{
// TODO: Return the string from the resource file
}
}
可以这样使用:
public class MyModel {
[Required]
[LocalizedDisplayName("labelForName")]
public string Name { get; set; }
}
以上是 来自资源的DisplayName属性? 的全部内容, 来源链接: utcz.com/qa/414017.html