委托与方法在实际中有什么区别啊,虽然可能理解委托相当于对方法的引用,但在实际的开发中,什么时候能用到委托呢? 书上说委托可以在运行时判断,但我用正常的方法也可以实现,希望能举个例子说明一下,谢谢~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当函数需要嵌套函数时,而被嵌套的函数又不固定在某个类中时,需要用委托当然,接口也可以实现这种功能,不过特殊情况,比如你用到是一个已封装的类,那么,委托可以实现你的功能,但接口实现不了.举例吗,一时想不起来动人的例子,但今天这个版就有一个贴是用委托来解决问题的例子,那个类子接口解决不了,好象是什么ToolBar或Menu调动态装配件子窗口的问题,你找找,好象那个案例是用委托解决的,而且是接口解决不了的另外接口和委托的最大区别是,接口需要事前声明,但委托不用,如果你需要把一个已固化到DLL中的方法当参数事,就只能用委托了. 书上说是可以动态调用,是怎么体现出来的,就拿事件来说,事件调用的方法不还是我手动指定的吗?怎么能体现在运行时动态调用呢?谢谢----------------------------------------------“运行时动态调用”是说,你可以写代码添加或删除事件绑定的方法,假设你是根据用户的选择来添加事件绑定的方法,那么用户选择不同的值时调用的方法就不同(与在事件中判断用户的选择来执行相应的代码有本质不同),这就是运行时动态调用。委托的典型用法是回调和事件(事件其实也属于回调)。你多看看委托的具体应用就明白了,比如Thread,Control.Invoke,等等。其实很多地方委托可以用接口来代替。JAVA中没有委托,所以Thread就用的接口实现的。 委托可以指向方法,但又是一个对象,所以可以把多个方法制定到委托,比如组成一个委托数组。然后进行一连串的调用。比较经典的就是异步Invoke.http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/misMultithreading.mspx Srtup Factory 的使用问题 WIN7下开发的WPF程序不能在XP下运行 求助 【大家讨论下】word表格边框怎么显示啊 关于c#方法调用 如何只调用js函数,不回调服务器端方法 各路英雄请进~一棘手的问题~ label填充渐变色的问题 C#调试中出现几个问题:未能找到类型或命名空间名称........ C#运行错误&创建项目失败 web 页中的treeview问题? 请教各位大虾:为何我的update更新可以在页面更新,而不能进数据库(access) (呵呵小弟没分就给100好了) 这个异常怎么处理?
当然,接口也可以实现这种功能,不过特殊情况,比如你用到是一个已封装的类,那么,委托可以实现你的功能,但接口实现不了.
举例吗,一时想不起来动人的例子,但今天这个版就有一个贴是用委托来解决问题的例子,那个类子接口解决不了,好象是什么ToolBar或Menu调动态装配件子窗口的问题,你找找,好象那个案例是用委托解决的,而且是接口解决不了的
另外接口和委托的最大区别是,接口需要事前声明,但委托不用,如果你需要把一个已固化到DLL中的方法当参数事,就只能用委托了.
----------------------------------------------
“运行时动态调用”是说,你可以写代码添加或删除事件绑定的方法,假设你是根据用户的选择来添加事件绑定的方法,那么用户选择不同的值时调用的方法就不同(与在事件中判断用户的选择来执行相应的代码有本质不同),这就是运行时动态调用。委托的典型用法是回调和事件(事件其实也属于回调)。你多看看委托的具体应用就明白了,比如Thread,Control.Invoke,等等。其实很多地方委托可以用接口来代替。JAVA中没有委托,所以Thread就用的接口实现的。
http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/misMultithreading.mspx