Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何定义可以在c语言中实现的异步f#接口?_C#_F# - Fatal编程技术网

C# 如何定义可以在c语言中实现的异步f#接口?

C# 如何定义可以在c语言中实现的异步f#接口?,c#,f#,C#,F#,我在F中定义了一个接口# 类型i连接= 摘要更新:seq->Async 我希望同一appdomain中的其他应用程序能够实现它,这样我就可以对实现该接口的任何应用程序调用Update(我将实现收集在TinyIoC容器中)。返回类型Async可以指示更新是否成功,而无需等待。我可以同时更新应用程序 其他应用程序都是用c语言编写的,当我开始编写一个引用(mock)实现时,我意识到这需要任何实现者使用fsharpsync类型,这不是很漂亮 那么,我如何定义接口,以便在c#中易于实现并保持异步特性呢?

我在F中定义了一个接口#

类型i连接=
摘要更新:seq->Async
我希望同一appdomain中的其他应用程序能够实现它,这样我就可以对实现该接口的任何应用程序调用Update(我将实现收集在TinyIoC容器中)。返回类型
Async
可以指示更新是否成功,而无需等待。我可以同时更新应用程序

其他应用程序都是用c语言编写的,当我开始编写一个引用(mock)实现时,我意识到这需要任何实现者使用
fsharpsync
类型,这不是很漂亮

那么,我如何定义接口,以便在c#中易于实现并保持异步特性呢?

使用或可能使用。您可以在
async
工作流和
Task
之间进行转换,在C#或大多数.Net语言中使用它是一种简单的类型

type IConnect=抽象更新:seq->Task

谢谢,
Async.AwaitTask:Task
似乎工作正常