[英]Compiler error when calling async Sub with TaskFactory
以同步方式运行Async调用的辅助方法会引发编译器错误。
VB.NET,VisualStudio 2019,.NET Framework 4.6,链接到编译器错误: https : //docs.microsoft.com/zh-cn/dotnet/visual-basic/misc/bc31143
Private Shared ReadOnly _taskFactory As TaskFactory = New TaskFactory(System.Threading.CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default)
Shared Sub RunSync(ByVal func As Func(Of Task))
_taskFactory.StartNew(func).Unwrap().GetAwaiter().GetResult()
End Sub
呼叫:
CLHelper.RunSync(Sub() test())
方法:
Async Sub test()
Await doSomethingAsync()
End Sub
CLHelper.RunSync(Sub()test())导致编译器错误BC36680:方法“没有与委托<'delegatename'>兼容的签名
您可以将test
方法更改为Function
,以与RunSync
调用协调其签名:
Async Function test() As Task
Await doSomethingAsync()
End Function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.