[英]Using Properties.Settings.Default as an argument for DisplayName
我正在尝试通过app.config文件中保存的设置存储displayName属性的值。
[System.ComponentModel.DisplayName(Properties.Settings.Default.field2Name)]
这是行不通的,因为它必须是一个常量值,而Properties.Settings.Default显然不是。 有没有简单的方法可以解决此问题?
由于DisplayName
属性是虚拟的,因此您可以执行以下操作:
public class DisplayNameSettingsKeyAttribute : DisplayNameAttribute
{
private readonly string _settingsKey;
public DisplayNameSettingsKeyAttribute(string settingsKey)
{
_settingsKey = settingsKey;
}
public string SettingsKey
{
get { return _settingsKey; }
}
public override string DisplayName
{
get { return (string)Properties.Settings.Default[_settingsKey]; }
}
}
并像这样使用它:
[DisplayNameSettingsKey("field2Name")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.