c# – 行动与标准回报

c# – 行动与标准回报,第1张

概述我不是C#家伙我更像是一个Objective-C家伙,但最近我看到了很多实现: public void Method(Action<ReturnType> callback, params...) 代替: public ReturnType Method(params...) 其中一个例子是MVVM Light Framework,开发人员使用第一种方法实现数据服务契约(和实现),所以我的问题是: 我不是C#家伙我更像是一个Objective-C家伙,但最近我看到了很多实现:
public voID Method(Action<ReturnType> callback,params...)

代替:

public ReturnType Method(params...)

其中一个例子是MVVM light Framework,开发人员使用第一种方法实现数据服务契约(和实现),所以我的问题是:为什么这样?只是喜欢的问题,或者是defaut的第一种异步方法(给定函数指针).如果这是真的,标准的返回死亡是什么?我问因为我个人喜欢第二种方法,当我看到API时,我会更清楚.

解决方法 与返回ReturnType的API不同,具有回调的版本可以立即返回,并在稍后执行回调.当返回的值不能立即可用时,这可能很重要,并且获得它需要相当大的延迟.例如,从Web服务请求数据的API可能需要相当长的时间.如果不需要继续执行结果数据,则可以启动调用,并提供异步回调.通过这种方式,调用者可以立即继续,并在可用时处理通知.

考虑一个采用图像URL的API,并返回图像的内存中表示.如果您的API是

Image Getimage(URL url)

并且您的用户需要提取10个图像,他们要么在请求下一个图像之前等待每个图像完成加载,要么明确地启动多个线程.

另一方面,如果您的API是

voID Method(Action<Image> callback,URL url)

然后,API的用户将同时启动所有十个请求,并在异步可用时显示这些图像.这种方法极大地简化了用户需要执行的线程编程.

总结

以上是内存溢出为你收集整理的c# – 行动与标准回报全部内容,希望文章能够帮你解决c# – 行动与标准回报所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1240284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存