public class GreetingManager{
    //在GreetingManager类的内部声明delegate1变量
    public GreetingDelegate delegate1;      public void GreetPeople(string name) {
        if(delegate1!=null){     //如果有方法注册委托变量
          delegate1(name);      //通过委托调用方法
       }
    }
}static void Main(string[] args) {
    GreetingManager gm = new  GreetingManager();
    gm.delegate1 = EnglishGreeting;  
    gm.delegate1 += ChineseGreeting;
    gm.GreetPeople("Tim");      
}为什么不是给委托类型的变量赋值的时候去调用呢,而是全部赋值完,调用GreetPeople()这个方法的时候才执行?

解决方案 »

  1.   

    给委托类型变量赋值时,只是把函数传进去,只有时机成熟了才会调用传进去的函数,调用调用GreetPeople时就是最好的时机
      

  2.   

    委托就是在你GreetPeople()方法调用的时候才执行的啊![align=center]********************************************************
    本内容用 CSDN小秘书 回复
    每天回帖即可获得10分可用分!
    ********************************************************
    [/align]