c# - async-await 是否可以在 C# 之外的其他 .NET 语言中使用?

标签 c# .net clr async-await

async-await模式是 .NET 4.5 和 C# 5.0 中更强大的补充之一

据我所知,它目前仅在 C# 和 VB 中可用。

此 API 是 .NET CLR 的功能还是 C# 编译器本身的功能?

我真正想问的是——我们是否应该期待其他 .NET 语言中的 async/await,例如:

  • C++(通过 C++/CLI)
  • Python(通过 IronPython)
  • PHP(通过 Phalanger)
  • JavaScript(通过 IronJS)

请注意,我不是在询问一般的异步编程,而是在询问异步等待模式(同步 编写的异步代码)的细节。

最佳答案

Is this API a feature of the .NET CLR or of the C# compiler itself?

这是编译器的一个特性。支持 asyncawait 不需要 CLR 更改。需要扩展其他语言以支持它。没有什么可以阻止编译器执行此操作,但必须在编译器和语言本身中进行更改。

C++ 确实支持一些 asynchrony in Windows Store applications通过 task/then,尽管它不如 C# 和 VB 中的 async/await 关键字有用。

It is currently only available in C# and VB as far as I know

请注意,F# 还支持 async(这比 C# 和 VB.Net 版本早了很多)。它不同于 C# 风格的异步支持,但相似(并启发了 C# 和 VB.Net 团队)。

关于c# - async-await 是否可以在 C# 之外的其他 .NET 语言中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494873/

相关文章:

.net - Double 和 Single 的 DependencyProperty 问题

c# - 执行 Ngen 后,我在哪里可以找到生成文件的位置?

c++ - Directshow C++ CLR 中未解析的 token (0A00001x)

c# - IsDisposed 是如何工作的?

c# - 使用 C# 从 UIElement 获取 WPF 屏幕截图 JPG

c# - 在 C# 中使用 await 内部属性

javascript - 在后面的 C# 代码中添加鼠标悬停属性

c# - Asp.Net LINQ 组合三个表

c# - 在 F# 中重写 C# 代码

c# - 共享连接字符串