调用异步 EventHandler 的区别

Difference between calling async EventHandler

我有一个这样定义的 EventHandler:

EventHandler<DataValueChangedEventArgs> method;

下面第1行和第2行之间调用方法有什么区别:

 1. await Task.Run(() => { method.Invoke(this, valueEvent); }); 
 2. method.BeginInvoke(this, valueEvent, EndAsyncEvent, null);

第二行在 .NET Core 上不起作用(NotSupported 异常),我如何将第 2 行迁移到 .NET Core 等效项?

how can I migrate line 2 to .NET Core equivalent?

BeginInvoke 在线程池线程上调用委托。 Task.Run.

也是

所以现代的等价物是您已经发布的第 1 行。