[英]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.