使用 IAsyncResult 模式我实现异步操作。
我的调用开始的签名是:
object[] data = new object[] {field1,field2};
AsyncSendMessageToSystem caller = SendMessageToSystem;
caller.BeginInvoke(field1,field2,field3, new AsyncCallback(callbackMethod),data);
当调用 callbackMethod 时,它将数据对象作为输入。 field1 var旨在在 SendMessageToSystem 中进行修改,但 callbackMethod 将获得原始值,而不会更新原始值。
我如何传递回调更新的值?
谢谢!
答案 0 :(得分:0)
您是否验证了回调方法是否正在接收原始值?这种方式的工作方式是您的回调方法获取对象data
的引用,因为object[]
是引用类型。您需要确保在调用回调之前对field1
进行了修改。