《c#编程指导》学习笔记(二)

        今天主要学习了委托和事件,以前编程的时候也或多或少接触过这方面的知识,但是对他们也没有一个较为深入了解特别是其工作原理就更不了了之了。

        首先从定义开始吧,委托(msdn上是这么说的):是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。事件的定义:在发生其关注的事情时用来提供通知的一种方式,事件使用委托来为触发时将调用的方法提供类型安全的封装。所以事件和委托联系比较紧(不知道可不可以这样说)。那么怎么使用委托和事件呢,现在有这样一个例子:现在有一只猫和两只老鼠,当猫叫的时候,那么老鼠就开跑。这正好可以用事件来处理这个程序,也就是说猫叫的方法触发时,老鼠就执行跑的方法。在这里让猫叫触发时通知老鼠就可以用到事件和委托了。好了,具体的实现方式如下:

       首先声明一个猫类:

 

Code

 

         再声明一个老鼠类:

 

Code

 

   对于要让整个过程实现,还要一个关键的Main函数:

 

Code

 

其中cat.CatShout += new Cat.CatShoutEventHandle(mouse1.Run);就是比较关键的部分了,这句代码的意思是:将老鼠的RUN方法通过实例化委托Cat.CatShoutEventHandle登记到猫的CatShout事件中。这样猫在执行shout方法时就可以触发执行老鼠的RUN方法了。

      这只是 委托和事件的一些很浅显的认识,对于更为深入的理解就以后实际编程过程中体会了。

posted @ 2009-04-15 16:26  风雨后的虹  阅读(254)  评论(0)    收藏  举报