ch2_13.cs

来自「《c#技术内幕代码》」· CS 代码 · 共 55 行

CS
55
字号
using System;

public delegate void AgeChangeHandler( int age, object obj, ref bool dontdoit );

class Person
{
   public event AgeChangeHandler AgeChange;
   
   int fAge;
   
   public int Age
   {
      set
      {
         Boolean dontdoit = false;
	 AgeChange( value, this, ref dontdoit);
	 if ( !dontdoit )
	    fAge=value;
      }
      get
      {
         return fAge;
      }
   }
   public Person()
   {
      fAge = 0;
   }
}

class CH2_13
{
   private static void MyAgeChangeHandler( int age, object obj, ref bool dontdoit )
   {
      Console.WriteLine("MyAgeChangeHandler called with age {0} obj.age = {1}", age, ((Person)obj).Age );
      if ( age < 0 || age > 99 )
         dontdoit = true;
   }
   private static void MyAgeChangeHandler2( int age, object obj, ref bool dontdoit )
   {
       Console.WriteLine("MyAgeChangeHandler2 called with age {0}", age );
   }
   
   public static void Main()
   {
      Person p = new Person();
      // Setup our handler
      p.AgeChange += new AgeChangeHandler(MyAgeChangeHandler);
      p.AgeChange += new AgeChangeHandler(MyAgeChangeHandler2);
      p.Age = 21;
      p.Age = 33;

   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?