C#イベントを使用して変数値の変更を監視

5294 ワード

public class Program 02 { 03      // 04      private int myValue; 05     06      // , 07      public bool MyValue 08      { 09          get { return myValue; } 10          set   11          { 12              // 13              if (value!=myValue) 14              { 15                  WhenMyValueChange(); 16              } 17              myValue = value;  18          } 19      } 20     21      // 22      public delegate void MyValueChanged( object sender, EventArgs e); 23      // 24      public event MyValueChanged OnMyValueChanged; 25     26      // 27      public Program() 28      { 29          myValue = 0; 30          OnMyValueChanged += new MyValueChanged(afterMyValueChanged); 31     32      } 33     34      // , 35      private void afterMyValueChanged( object sender, EventArgs e) 36      { 37          //do something 38      } 39     40      // 41      private void WhenMyValueChange() 42      { 43          if (OnMyValueChanged != null ) 44          { 45              OnMyValueChanged( this , null ); 46          } 47      } 48 }