委托

来源:互联网 发布:触摸屏软件开发公司 编辑:程序博客网 时间:2024/06/03 10:18


委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法)。通俗的说,委托是一个可以引用方法的对象,当创建一个委托,也就创建一个引用方法的对象,进而就可以调用那个方法,即委托可以调用它所指的方法。
伪代码
    //第一步:定义委托类型(只是比函数多了个delegate)
   public delegate void Callback();
   public delegate void Callback(T arg1);
   class A
   {
             //第二步:声明委托对象
           private Callback<Transform> callback;
           // 第三步:将方法与委托关联起来
           public void SetCallback(Callback<Transform> _callback)
             {
                              callback = _callback;
             }
             public void OnTriggerEnter(Collider other)
             {
                      // 调用委托实例
                      callback(other.transform);
             }
   }
    class B
    {
             private A a;
             public void SetACallback()
             {
                 a.SetCallbck(OnTriggerEnterHandler);
             }
             
             private void OnTriggerEnterHandler(Transform other)   {  }
    }