C#中自定义事件和委托实例

2019-12-26 11:14:31王冬梅

        public void UnSubscribe(TestEventSource evenSource)
        {
            evenSource.TestEvent -= new TestEventSource.TestEventHandler(KeyPressed);
        }
    }

    //测试类
    public class Test
    {
        public static void Main()
        {
            //创建事件源对象
            TestEventSource es = new TestEventSource();
            //创建监听对象
            TestEventListener el = new TestEventListener();
            //订阅事件
            Console.WriteLine("订阅事件n");
            el.Subscribe(es);
            //引发事件
            Console.WriteLine("输入一个字符,再按enter键");
            string s = Console.ReadLine();
            es.RaiseEvent(s.ToCharArray()[0]);
            //取消订阅事件
            Console.WriteLine("n取消订阅事件n");
            el.UnSubscribe(es);

            //引发事件
            Console.WriteLine("输入一个字符,再按enter健");
            s = Console.ReadLine();
            es.RaiseEvent(s.ToCharArray()[0]);

 

        }
    }

}

 

程序执行结果