闭包语法错误F#

时间:2018-02-07 15:48:34

标签: c# ios f# functional-programming closures

我正在尝试从存储库中实现以下C#代码:https://github.com/alexsorokoletov/Xamarin.iOS.DatePickerDialog

在F#中

dialog.Show("Choose time", "Done", "Cancel", UIDatePickerMode.Time, (dt) =>
{
  TimePickLabel.Text = dt.ToString();
}, startingTime);

然而,F#似乎只期望以下格式的3个参数:

enter image description here

我理解如何填写titledatePickerMode参数,但是,我对回调有点困惑。我知道我应该使用fun语法,所以我尝试了这样:

datePicker.Show("FROM", fun() -> (
        Console.WriteLine("Testing")
    ),UIDatePickerMode.Date)

但这会引发错误:

预计表达式的类型为DateTime,但unit后的括号中的类型为fun

1 个答案:

答案 0 :(得分:7)

回调应该采用DateTime类型的参数,但你的参数不是。

将其更改为fun _ -> Console.WriteLine("Testing"),它应该有效。