- 68 名前:デフォルトの名無しさん [2008/05/01(木) 16:37:27 ]
- 誰か、より良い方法があったら教えてください。
// 何箇所も変更場所があるのは好ましくない class MyComponent1 { string myProperty = "初期文字列"; [DefaultValue("初期文字列")] public string MyProperty { get { return myProperty; } set { myProperty = value; } } public MyComponent1() { } } // リファクタリングで MyProperty を書き換えると GetProperty("MyProperty") に変更が入らない // 結局複数個所を書き換える方が見通しがいい class MyComponent2 { string myProperty; [DefaultValue("初期文字列")] // ここを書き換えたら myProperty の初期値にも反映したい public string MyProperty { get { return myProperty; } set { myProperty = value; } } public MyComponent2() { var defaultValue = typeof(MyComponent2).GetProperty("MyProperty").GetCustomAttributes(typeof(DefaultValueAttribute), false)[0]; myProperty = defaultValue.ToString(); } }
|

|