我長時間沒有成功地尋找解決這個問題的方法。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