.net core 中:
Action<string> action = this.DoSome;
action.BeginInvoke("button1_Click", null,null);
执行报错:
System.PlatformNotSupportedException:“Operation is not supported on this platform.”
原因:
.NET Core不支持BeginInvoke和EndInvoke委托调用。
GitHub问题 MulticastDelegate, BeginInvoke throws NotSupportedException #16312 中对此进行了讨论
解决方式:
- 将.net core 迁移至 .net framework
- 使用Task 替换 BeginInvoke
Task.Run(() => action.Invoke("button1_Click"));