Monday, February 18, 2008

(ZT) 委托

如果上面我说的不清楚,我用代码演示一遍:  
  一个现实中的例子:  
  小王委托小张帮他监视小李,只要他一跳舞就去揍他,呵呵,好吧,我就用这个例子来说说C#中的DELEGATE,现在有三个类,呵呵,是小王,小张,小李。那么小张就是委托。  
  下面例子  
  public   class   小李  
  {  
          public   小李(小张   obj)  
          {  
                  //   构造器,传递小张的实例进来  
          }  
          //   下面是小李的跳舞方法  
          public   void   跳舞()  
          {  
                  //   跳舞方法  
                  把这个方法传递给小张  
                  实例小张(this);  
          }  
  }  
  下面我们来定义委托小张。  
  //   定义参数,把小李给传递进来,下面的object实际上就是小李的实例。  
  public   delegate   小张(object   sender);  
  下面定义小王,小王不会别的,就会打人。:-)  
  public   class   小王  
  {  
          public   小王  
          {  
                //   构造器  
          }  
          //   小王打人方法  
          public   void   揍(object   obj)   //   obj参数就是要打的对象  
          {  
                  //   我打,我打打打!!  
          }  
  }  
  下面是场景  
  public   class   舞厅  
  {  
          public   int   main()  
          {  
                  new   实例小王;  
                  new   实例小张(小王.揍);  
                  \\这句是小王委托小张去监视小李  
                  new   实例小李(小张);  
                  实例小李.跳舞;    
                  //   小李一跳舞,那就要被打了。:-)  
          }  
  }

0 Comments:

Post a Comment

<< Home