我如何将C#委托函数转换为VB.Net?

Ezi*_*Ezi 7 c# vb.net c#-to-vb.net

这里有一个关于这段代码的老问题.

xmpp.OnLogin += delegate(object o) 
                { 
                    xmpp.Send(
                        new Message(
                            new Jid(JID_RECEIVER),
                            MessageType.chat, 
                            "Hello, how are you?"
                        )
                    );
                };
Run Code Online (Sandbox Code Playgroud)

我想在vb.net(版本10)中使用它,但我无法弄清楚如何转换它.

dri*_*iis 7

委托是一个匿名函数.正如预期的那样,VB .NET的语法略有不同.如果没有VB编译器,我会说你需要这样的东西:

AddHandler xmpp.OnLogin,
    Sub(o As Object)
        xmpp.Send(
                    new Message(
                        new Jid(JID_RECEIVER),
                        MessageType.chat, 
                        "Hello, how are you?"
                    )
    End Sub
Run Code Online (Sandbox Code Playgroud)


Ica*_*rus 6

我不知道如何在VB.NET中声明一个匿名委托,我对Google太懒了,但这样的事情应该有用(警告:未经测试):

AddHandler xmpp.OnLogin, AddressOf Me.HandleSendMessage

Private Sub HandleSendMessage(ByVal o As Object)
xmpp.Send( new Message(
               new Jid(JID_RECEIVER),
                            MessageType.chat, 
                            "Hello, how are you?"
                        )
                    )
End Sub
Run Code Online (Sandbox Code Playgroud)