C#, C♯, C#相談室 Part46at TECH
C#, C♯, C#相談室 Part46 - 暇つぶし2ch68:デフォルトの名無しさん
08/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();
 }
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch