gpt4 book ai didi

c# 4.0、异步 CTP 和异步 C# 5.0 兼容吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:39 26 4
gpt4 key购买 nike

我有一个使用 async CTP 库的应用程序能够使用 async/await 关键字,而且我知道 C# 的实际版本 5.0 默认具有此功能,并且并不是所有的确切版本都是 async CTP.我的意思是,例如在异步 CTP 中存在 TaskEx 而在 C# 5.0 中不存在,是 Task。

但是尽管有这些差异,我想知道异步方法返回的 Task 对象是否相同。

在我的例子中,我有一个用于存储库访问数据库的接口(interface)。目前这个存储库是由使用 C# 4.0 的类实现的,但它可以使用异步 CTP 返回任务并使用 await keyowrd。但在未来,我想使用其他使用 C# 5.0 的类。

如果我的接口(interface)定义了一个返回任务的方法,我可以用使用 C# 4.0 的类和使用 C# 5.0 的类来实现这个接口(interface)吗?或者异步 CTP 和 C# 5.0 中的 Task 对象存在差异?

PD:我更正了 C# 的版本,我的意思是 5,0 而不是 C# 4.5。

PD2:似乎在 VS2012 中我可以使用 Microsoft.Bcl.Async 和 Microsoft.CompilerServices.AsyncTargetingPack 在目标为 .NET 4.0 的项目中使用 asyn/await 关键字。但我不知道它们之间有什么区别。

最佳答案

它与返回的 Task 类型相同。此类型作为任务并行库的一部分在 .NET 4.0 中引入。

但是,如果我是你,我会把所有东西都升级到 VS2012,用 Microsoft.Bcl.Async 替换异步 CTP .底层编译器类型不同(并且相互不兼容),并且 Async CTP 中存在已知错误以及安装问题。

关于c# 4.0、异步 CTP 和异步 C# 5.0 兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com