5

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

type IConnect =
    abstract Update: seq<DataType> -> Async<bool>

我希望同一 appdomain 中的其他应用程序实现它,以便我可以在任何实现该接口的应用程序上调用 Update(我将实现收集在 TinyIoC 容器中)。返回类型Async<bool>可以指示更新是否成功,而无需等待。我可以并行更新应用程序。

其他应用程序是用 c# 编写的,当我开始编写引用(模拟)实现时,我意识到这将要求任何实现者使用FSharpAsync不是很漂亮的类型。

那么,如何定义接口以便在 c# 中轻松实现并保持异步方面?

4

1 回答 1

3

使用TaskIObservable。你可以容易地async在工作流之间进行转换,它是一种可以在 C# 或大多数 .Net 语言中使用的简单类型。Task<T>

type IConnect = abstract Update: seq<DataType> -> Task<bool>
于 2013-06-07T10:13:28.467 回答