我长时间没有成功地寻找解决这个问题的方法。F#dispatcher.invoke和委托方法
我正在将一些C#代码移植到F#,并且我正在为WPF元素使用Dispatcher.Invoke。由于我是F#中的总noob,我唯一能确定的是问题出现在椅子和键盘之间。
这里是我的C#代码:
foreach (var k in ChartList.Keys)
{
ChartList[k].Dispatcher.Invoke(
System.Windows.Threading.DispatcherPriority.Normal,
new Action(
delegate()
{
ChartList[k].Width = area.Width/totalColsForm;
ChartList[k].Height = area.Height/totalRowsForm;
ChartList[k].Left = area.X + ChartList[k].Width * currentCol;
ChartList[k].Top = area.Y + ChartList[k].Height * currentRow;
ChartList[k].doShow();
}
));
}
我挣扎的部分是新的行动(委托()...)。编译器不喜欢我翻译它的任何尝试。
这段代码在F#中的翻译是什么?
你试图做什么?我期望'fun() - > ...'或者'Action(fun() - > ...)'工作。 – Daniel 2013-03-05 15:51:31
@丹尼尔,正是我尝试都没有成功。我得到了错误“没有重载匹配的方法”Invoke'“=>它是委托方法的翻译是问题 – Anass 2013-03-05 16:18:19