在 C# 中,您使用 BeginInvoke
像这样:
obj.BeginInvoke((Action)(() =>
{
//do something
}));
我试图将它翻译成 VB.NET,最后得到了这段代码,这似乎有效:
obj.BeginInvoke(
Sub()
'do something'
End Sub
)
这些片段在我看来非常不同,尤其是因为
(Action) (() =>
部分完全丢失。这是使用 BeginInvoke
的正确方法吗?在 VB.NET 中?这是不是 How to use BeginInvoke C# 的副本因为问题和每个答案都使用 C#(如果使用任何编程语言)。当您不确定是否使用了正确的 VB.NET 语法时,C# 代码没有多大帮助。
最佳答案
(Action)
只是将 lambda 转换为 Action
,这在 VB.NET 中是不需要的。 Sub()
lambda 就是你所需要的。
你得到了正确的转换。
虽然请注意 BeginInvoke()
后面必须跟 EndInvoke()
,否则你会得到线程泄漏。
关于c# - 如何在VB.NET中使用BeginInvoke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37278917/