读书人

C#事件处理 与嘱托

发布时间: 2012-09-10 22:20:13 作者: rapoo

C#事件处理 与委托

using System;using System.Collections.Generic;using System.Text;namespace 事件处理{    // Declare the delegate handler for the event:    public delegate void MyEventHandler();    class TestEvent    {        // Declare the event implemented by MyEventHandler.        public event MyEventHandler TriggerIt;        // Declare a method that triggers the event:        public void Trigger()        {            TriggerIt();        }        // Declare the methods that will be associated with the TriggerIt event.        public void MyMethod1()        {            System.Console.WriteLine("Hello!");        }        public void MyMethod2()        {            System.Console.WriteLine("Hello again!");        }        public void MyMethod3()        {            System.Console.WriteLine("Good-bye!");        }        static void Main()        {            // Create an instance of the TestEvent class.            TestEvent myEvent = new TestEvent();            // Subscribe to the event by associating the handlers with the events:            myEvent.TriggerIt += new MyEventHandler(myEvent.MyMethod1);            myEvent.TriggerIt += new MyEventHandler(myEvent.MyMethod2);            myEvent.TriggerIt += new MyEventHandler(myEvent.MyMethod3);            // Trigger the event:            myEvent.Trigger();            // Unsuscribe from the the event by removing the handler from the event:            myEvent.TriggerIt -= new MyEventHandler(myEvent.MyMethod2);            System.Console.WriteLine("\"Hello again!\" unsubscribed from the event.");            // Trigger the new event:            myEvent.Trigger();            Console.ReadKey();        }    }}
输出内容如下:
Hello!Hello again!Good-bye!"Hello again!" unsubscribed from the event.Hello!Good-bye!

?

读书人网 >C#

热点推荐