2012-07-23 73 views
0

IAsyncResult模式我正在實施異步操作。通過回調未更新的值

我調用開始的簽名是:

object[] data = new object[] {field1,field2}; 

AsyncSendMessageToSystem caller = SendMessageToSystem; 
caller.BeginInvoke(field1,field2,field3, new AsyncCallback(callbackMethod),data); 

callbackMethod被調用時,它作爲輸入數據對象。 字段1 var意在修改SendMessageToSystem,但回調方法將收到原始值,並且沒有更新的值。

我該如何傳遞迴調更新的值?

謝謝!

回答

0

您是否驗證回調方法是否正在接收原始值?其工作方式是您的回調方法獲取對象data的引用,因爲object[]是引用類型。您需要確保在調用回調之前修改field1