我有一个定义如下的事件委托(delegate):
public delegate void CallbackDelegate(Data data);
public event CallbackDelegate OnDataComplete;
我异步引发事件:
// Raise the OnDataComplete event
OnDataComplete.BeginInvoke(new Data(), null, null);
随后,BeginInvoke
的签名如下所示:
IAsyncResult CallbackDelegate.BeginInvoke(Data data, AsyncCallback callback, object @object)
在大多数示例中,我看到 BeginInvoke
被调用时 @object
参数为 null
,但我找不到文档这解释了该参数的用途。
那么那个参数的目的是什么?我们可以用它做什么?
最佳答案
你可以在那里提供任何你想要的东西。在 AsyncResult 方法中,您可以使用 IAsyncResult.AsyncState 检索此值。它供您使用。
关于c# - BeginInvoke 的@object 参数应该传递什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763342/