我正在編寫一些代碼來解決正在處理的系統中的線程安全問題,其中一種推薦的方法是使用代理來解決跨線程問題。但出於某種原因,我不喜歡爲每一個可能需要攔截的操作定義一個委託,因此更喜歡使用匿名方法或lambda表達式,但是編譯器拒絕將其中任何一個轉換爲System。委託對象。什麼是轉換lambda表達式或匿名函數到C#中委託對象的最直接的方法?
這是否有捷徑?
如果(someListBox.InvokeRequired)
{
someListBox.Invoke(Some_System.Delegate_Object,新的對象[] {項});
}
else
someListBox.Items.Add(item);
我想是這樣......
如果(someListBox.InvokeRequired)
{
someListBox.Invoke((I)=> {someListBox.Items.Add(我);} ,new object [] {item});
}
else
someListBox.Items.Add(item);
謝謝,不知道這項技術直接使用Action;第二個爲我工作。事實上C#爲我們節省了很多痛苦:) – nemesisfixx 2011-01-08 10:59:19