簡體   English   中英

如何基於現有C#代碼段在F#中創建可觀察函數?

[英]How do I create an observable function in F#, based on an existing C# snippet?

我正在嘗試將以下代碼轉換為F#:

static void Main(string[] args)
{
    var y = Observable.Create<int>(x =>
        {
            x.OnNext(5);
            return (() => { });
        });

    y.Subscribe(x => Console.WriteLine(x));
}

嘗試了以下方法:

let ob = Observable.Create<int>(fun x -> 
                                    x.OnNext(5)
                                    fun unit -> unit)  

但沒有成功。 我該怎么辦?

let observable = Observable.Create(fun (x: IObserver<_>) ->
  x.OnNext(5)
  Action(ignore))

observable.Subscribe(printfn "%d") |> ignore

如果您的Observable無法取消(通常是在同步時),則使用單例Disposable.Empty效率更高。

Observable.Create(fun (o : IObserver<_>) -> 
    o.OnNext(5)
    Disposable.Empty
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM