日期:2014-05-19  浏览次数:21082 次

委托可以跨类调用吗??
比如说我在类一里
实例了一个对象   如下
  ProxyClient   newClient   =   new   ProxyClient();
                                        //Attach   the   Delegates  
                                        // newClient.Disconnected   +=   new   DisconnectDelegate(OnDisconnected);  
                                        newClient.Connected   +=   new   ConnectDelegate(this.OnConnected);
                                        newClient.SendCallEvent   +=   new   SendCallDelegate(this.OnSendCall);
                                        newClient.SendCardEvent   +=   new   SendCardDelegate(this.OnSendCard);
                                        newClient.GameOverEvent   +=   new   GameOverDelegate(this.OnGameOver);
                                        newClient.AvatorMoveEvent+=new   AvatorMoveDelegate(kt.OnAvatorMove);
                                       
  委托的参数中调用的一定是类一中的方法吗

在最后的一个定义中我没用this   而用了kt类的方法行吗  

多谢多谢   在线等   急啊



------解决方案--------------------
可以,委托可以委托对象和它的方法
也可以委托静态方法
------解决方案--------------------
在最后的一个定义中我没用this 而用了kt类的方法行吗
=====
可以...
------解决方案--------------------
委托所调用的是方法,由于c#语法的原因,无论静态还是非静态函数都被声明在类中,对于非静态函数,被调用的方法所在的类必须被实例化,否则将会出现空引用,对于静态函数则不必,对于这两种情况,前提是必须保证该方法的定义同委托的定义相同。
------解决方案--------------------
可以委托静态方法

------解决方案--------------------
总结,委托很牛的
------解决方案--------------------
我个人认为委托就是回调,函数指正
------解决方案--------------------
你在一个singleton类里面定义委托,就可以了,哈哈
------解决方案--------------------
抢分贴

最后一个没有this也行,就是这么用的,你那个实例newClient,中“订阅”了很多个事件,即把这些事件(委托实例的事件形式)与你调用环境类中的相关方法通过+=相关联,就是这么用的

你的问题题目有点不太清楚,委托,又是跨类?哦,这不已经跨类了吗?在相互包含的类关系形式下,一种是正向的调用比如调用方法,另一种就是所谓“回调”即就是 事件!
------解决方案--------------------
委托所调用的是方法,由于c#语法的原因,无论静态还是非静态函数都被声明在类中,对于非静态函数,被调用的方法所在的类必须被实例化,否则将会出现空引用,对于静态函数则不必,对于这两种情况,前提是必须保证该方法的定义同委托的定义相同。