C# 传递给回调未更新的值
使用IAsyncResult模式,我实现了一个异步操作 我的调用开始的签名是:C# 传递给回调未更新的值,c#,asynchronous,callback,begininvoke,iasyncresult,C#,Asynchronous,Callback,Begininvoke,Iasyncresult,使用IAsyncResult模式,我实现了一个异步操作 我的调用开始的签名是: object[] data = new object[] {field1,field2}; AsyncSendMessageToSystem caller = SendMessageToSystem; caller.BeginInvoke(field1,field2,field3, new AsyncCallback(callbackMethod),data); 调用callbackMethod时,它将数据对象作
object[] data = new object[] {field1,field2};
AsyncSendMessageToSystem caller = SendMessageToSystem;
caller.BeginInvoke(field1,field2,field3, new AsyncCallback(callbackMethod),data);
调用callbackMethod时,它将数据对象作为输入。
字段1变量拟在SendMessageToSystem中进行修改,但回调方法将接收原始值,而更新后的值不会被修改
我如何传递到回调更新的值
谢谢 是否验证回调方法是否接收原始值?其工作方式是回调方法获取对对象
数据的引用,因为对象[]
是引用类型。您需要确保在调用回调之前对field1
进行修改