你现在所在的位置: TechTarget > WebServices > 技巧 > .NET开发 >
用户注册
QA烧考坊
IT专家论坛
会员活动
.NET中代理和接口的比较
【5/14/2005 9:47:39】 【Ed Tittel】 【TechTarget】

  你以前肯定至少写过一个回调函数。回调函数是一些不可以直接去调用的函数。我们可以使用指针在一些能直接调用的库代码中调用这些回调函数,将回调函数的地址作为参数来传递。你所写的这种使用回调参数的代码被调用的几率不会太高,但也不会非常地低,因为这也是一种常见的使用方式。

  当访问一个庞大的或不透明的数据结构时,这种回调函数只会被调用一次。通常情况下,在从一个列表中选择某些项目或告诉库代码何时停止循环的过程中,你所写的回调函数就会被多次调用。

  你可能愿意去写这种带有强类型参数的回调代码。那可以确保非空的参数是一个指针并且指向的是带有正确原型的方法,而不是指向其他的原型或数据。

  当在.NET代码中使用回调参数时,你的第一反应可能是使用代理,它类似于C++或Delphi中的强类型方法指针。你可以用接口来代替回调参数进行执行来避免使用代理。接口和代理都有一个相同的特征,就是允许你使用正确的原型来调用某个方法,而不需要知道是哪个对象执行了该方法,也不需要知道是哪个实例被绑定到该调用上,甚至不需要知道是哪个实例被绑定到你所调用的方法名上。

1 2  下一页
【责编:Harte】 【发表评论
至顶】 【读者反馈
免费订阅电子新闻邮件
选择你想通过邮件方式得到的新闻邮件
(提示:这里输入你的Email)
还不是会员?通过你的订阅,我们会激活你的会员资格。
 相关文章
  • 项目结构最佳实例   (5/12/2005 10:27:25)
  • 追踪内存泄漏   (5/8/2005 11:7:12)
  • .NET中的异常处理   (5/8/2005 11:6:32)
  • 使用技巧:indigo编程   (5/8/2005 10:43:38)
  • 不要将DataSet和Web服务混淆   (5/8/2005 10:41:39)
  • .NET 2.0中的安全性   (5/8/2005 10:39:27)