2011-06-20 10 views
1

app.configファイルに保持されている設定からdisplayName属性の値を格納しようとしています。DisplayNameの引数としてProperties.Settings.Defaultを使用する

[System.ComponentModel.DisplayName(Properties.Settings.Default.field2Name)] 

これは、Properties.Settings.Defaultが明確ではない定数値である必要があるため、これは機能しません。これを回避する簡単な方法はありますか?

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]; } 
    } 
} 

をそして、そのようにそれを使用します:DisplayNameプロパティは仮想であるので

答えて

6

、あなたはそのような何かを行うことができ最適なソリューションです

[DisplayNameSettingsKey("field2Name")] 
+0

を。ありがとう! – Tim

関連する問題