1
最近做了很多silverlight編程,並且很喜歡它,但是當然silverlight是異步的,所以我不得不設置一個事件處理程序來在異步完成時調用。這當然是偉大的,但我只是得到了很多的代碼...基本上我需要一個wcf服務的每個調用的2個方法。我最近發現了以下內容異步使用Lambdas完成的事件而不是真正的方法?
client.LoadClientsCompleted += (sender, e) =>
{
// My Code
};
client.LoadClientsAsync(clientID);
它似乎工作,它使用lambdas而不是物理方法。我知道這不會改變技術的運作,而且它仍然是異步的。但它似乎整理了我的代碼相當多。
我很想聽聽任何關於天氣的評論,我應該使用這個,有沒有使用PROS和CONS?
按我說的直接點在一個新的方法事件的偉大工程,以及但從技術上我有2種方法每次調用我做...代碼越來越:-)
使用拉姆達方式,我在儘管只在完成時觸發回調事件,但至少要保留我的回調事件。它似乎讓事情變得更容易,但是這種方法有什麼問題嗎?
哇,這是一個加號!是的,如果我使用一個單獨的方法,我將不得不尋找其他方法來讀取初始方法中的變量!這我不知道!謝謝! – Martin
獲得對包含範圍的訪問確實很棒,並且可以大大簡化一些事情 - 您不必創建一些輔助類來保存狀態並將它們傳遞給回調函數,因爲編譯器通過lambda表達式爲您工作。 –