微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET调用方法

我的代码中有这个方法

Private Sub display()
        Received.AppendText(" - " & RXArray)
End Sub

这2个电话之间有什么区别:

Me.Invoke(New MethodInvoker(AddressOf display))

display()

我知道这是关于线程的事情,但我不确定.

提前致谢

解决方法

当您在不同的线程中工作时,请使用Invoke方式.例如,如果调用者与GUI不在同一个线程中.

如果调用者不需要等待方法的结果,您甚至可以使用BeginInvoke:

GuiObject.BeginInvoke(New MethodInvoker(AddressOf display))

或更短:

GuiObject.BeginInvoke(Sub() display)

为了更容易编写,您可以将调用移动到display功能

Private Sub display()
    If Me.Invokerequired Then
        Me.Invoke(Sub() display)
        Return
    End IF
    Received.AppendText(" - " & RXArray)
End Sub

这样调用者不必知道他是否在同一个线程中.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐