0

使用IAsyncResult模式,我正在实现异步操作。

我的调用开始的签名是:

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

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

调用callbackMethod时,它具有数据对象作为输入。field1 var 旨在在 SendMessageToSystem 内部进行修改,callbackMethod接收原始值,而不会收到更新的值。

我怎样才能通过回调更新的值?

谢谢!

4

1 回答 1

0

您是否验证了回调方法是否正在接收原始值?这样做的方式是您的回调方法获取对 object 的引用data,因为object[]它是一个引用类型。您需要确保在field1调用回调之前进行修改。

于 2012-08-11T20:35:32.100 回答