app.config ファイルに保持されている設定から、displayName 属性の値を保存しようとしています。
[System.ComponentModel.DisplayName(Properties.Settings.Default.field2Name)]
これは、Properties.Settings.Default が明らかにそうではない定数値でなければならないため、機能しません。これを回避する簡単な方法はありますか?
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")]