5

F# でインターフェイスを定義しました

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

同じ appdomain 内の他のアプリにそれを実装して、インターフェイスを実装するすべてのアプリで Update を呼び出すことができるようにしたいと思います (TinyIoC コンテナーに実装を収集します)。戻り値の型Async<bool>は、更新を待つことなく、更新が成功したかどうかを示すことができます。また、アプリを並行して更新できます。

他のアプリは c# で書かれており、リファレンス (モック) 実装を書き始めたとき、実装者FSharpAsyncはあまりきれいではない型を使用する必要があることに気付きました。

では、C# で簡単に実装して非同期の側面を維持できるように、インターフェイスを定義するにはどうすればよいでしょうか。

4

1 に答える 1

3

TaskまたはおそらくIObservableを使用します。asyncワークフロー間の変換がTask<T> 非常 に簡単で、C# またはほとんどの .Net 言語で使用できるシンプルなタイプです。

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