在Silverlight中,System.Windows.Threading
的Dispatcher.BeginInvoke()
需要Action<T>
或委託來調用。如何阻止ReSharper在預計Action的lambda表達式上顯示錯誤?
.NET允許我傳遞lambda表達式。但ReSharper的認爲這是一個錯誤,說「無法解決方法‘的BeginInvoke(lambda表達式)’」:Dispatcher.BeginInvoke(() => { DoSomething(); })
錯誤消失,如果我明確創建Action
周圍像這樣的表達:Dispatcher.BeginInvoke(new Action<object>(o => { DoSomething(); }));
我喜歡在這種情況下代碼量最少,以獲得最佳可讀性。有沒有辦法禁用這個特定的ReSharper錯誤通知?我嘗試了一些選項,但找不到它。
感謝, 卡爾
你確定Dispatcher.BeginInvoke(()=> {DoSomething();})編譯?它不 – 2010-04-20 08:36:15
對不起,我忘了提及我瞄準Silverlight ...它在Silverlight項目編譯Dispatcher.BeginInvoke採取行動,但不是在它只接受委託的完整框架。 –
carlmon
2010-04-20 09:47:51
您使用的是什麼版本的ReSharper?你有沒有嘗試每晚構建,看看它是否仍然是一個問題? – womp 2010-04-20 18:18:58