OnLogin
在 xmpp 上可能是这样声明的事件:
public event LoginEventHandler OnLogin;
哪里LoginEventHandler
是委托类型可能声明为:
public delegate void LoginEventHandler(Object o);
这意味着为了订阅事件,您需要提供与委托签名匹配的方法(或匿名方法/ lambda 表达式) 。LoginEventHandler
delegate
在您的示例中,您使用关键字传递了一个匿名方法:
xmpp.OnLogin += delegate(object o)
{
xmpp.Send(new Message(new Jid(JID_RECEIVER),
MessageType.chat,
"Hello, how are you?"));
};
匿名方法与事件预期的委托签名相匹配OnLogin
(void 返回类型 + 一个对象参数)。您还可以利用逆变来删除object o
参数,因为它不在匿名方法体内使用。
xmpp.OnLogin += delegate
{
xmpp.Send(new Message(new Jid(JID_RECEIVER),
MessageType.chat,
"Hello, how are you?"));
};