2012-07-23 52 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