C# 如何将 IAsyncResult 之外的内容传递到 AsyncCallback?
除了 IAsyncResult 之外,如何将更多内容传递到 AsyncCallback 中?
示例代码:
//Usage
var req = (HttpWebRequest)iAreq;
req.BeginGetResponse(new AsyncCallback(iEndGetResponse), req);
//Method
private void iEndGetResponse(IAsyncResult iA, bool iWantInToo) { /*...*/ }
我想传递示例变量bool iWantInToo
。我不知道如何将其添加到 new AsyncCallback(iEndGetResponse)
中。
How do I pass more than just the IAsyncResult into AsyncCallback?
Example code:
//Usage
var req = (HttpWebRequest)iAreq;
req.BeginGetResponse(new AsyncCallback(iEndGetResponse), req);
//Method
private void iEndGetResponse(IAsyncResult iA, bool iWantInToo) { /*...*/ }
I would like to pass in example variable bool iWantInToo
. I don't know how to add that to new AsyncCallback(iEndGetResponse)
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须使用对象状态来传递它。现在,您正在传递
req
参数 - 但您也可以传递一个包含它和布尔值的对象。例如(使用 .NET 4 的 Tuple - 如果您使用 .NET <=3.5,则可以使用自定义类或 KeyValuePair 或类似的类):
You have to use the object state to pass it in. Right now, you're passing in the
req
parameter - but you can, instead, pass in an object containing both it and the boolean value.For example (using .NET 4's Tuple - if you're in .NET <=3.5, you can use a custom class or KeyValuePair, or similar):