簡單問題:請問這個翻譯成VB.Net在Dispatcher.Invoke轉換lambda表達式
Dispatcher.BeginInvoke(() => listening = false);
聽力是類(布爾)變量。在線轉換器沒有幫助,我們提出沒有編譯:
Dispatcher.BeginInvoke(Function(listening) listening = False)
任何幫助,將不勝感激。
簡單問題:請問這個翻譯成VB.Net在Dispatcher.Invoke轉換lambda表達式
Dispatcher.BeginInvoke(() => listening = false);
聽力是類(布爾)變量。在線轉換器沒有幫助,我們提出沒有編譯:
Dispatcher.BeginInvoke(Function(listening) listening = False)
任何幫助,將不勝感激。
在C#拉姆達像:
() => listening = false
空括號意味着拉姆達沒有參數。而且,由於Dispatcher.BeginInvoke採取動作,沒有返回值,在VB中,這將是一個Sub
,而不是一個Function
:
Sub() listening = False
所以你必須:
Dispatcher.BeginInvoke(Sub() listening = False)
工作就像一個魅力! – Terry 2012-03-12 13:57:03
很高興聽到它。 – 2012-03-12 14:28:33
這要麼無法編譯在C#中,所以請張貼完整的行。 – 2012-03-12 13:38:40
@TimSchmelter:平易近人);溜了,現在修好了 – Terry 2012-03-12 13:41:25