2011-10-02 52 views
7

Here这个代码存在一个老问题。我该如何将C#委托函数转换为VB.Net?

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

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

+1

与您有什么麻烦的一部分? – driis

回答

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 
+0

我不认为VB.net会喜欢'''你离开那里',除非事情最近改变了,我不知道;) – Icarus

+0

它的工作原理! (我删除了;没什么大不了的...)非常感谢 – Ezi

+0

@Icarus,它不喜欢它明显;-)(固定) – driis

6

我不知道如何申报VB.NET匿名委托,我懒得谷歌,但东西像这应该工作(警告:未测试):

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