Xamarin iOS中的F#等效于C#异步事件处理程序

时间:2019-03-28 19:01:06

标签: xamarin f# xamarin.ios

answer显示了使用以下语法分配按钮TouchUpInside事件处理程序:

btnSave.TouchUpInside += async (sender, e) => 
{
    await Createuser(); 
};

F#中是否有等效项? F#中似乎没有+=重载。

我已经尝试了以下所有方法,但是类型系统总是对我大喊:结果不是unit

btnSave.TouchUpInside.Add (fun s e -> async { return () })
btnSave.TouchUpInside.Add (fun s e -> async { return () } |> Async.StartAsTask )

以下内容可编译,但对控制器上的任何操作均会引发预期的异常,因为我们不再位于主UI线程上

btnSave.TouchUpInside.Add (fun s e -> async { return () } |> Async.Start)

我希望能够使用与async/await等效的F#运行异步函数,而不必像在C#中得到的syntac sugar那样不断地编组回主UI线程

0 个答案:

没有答案