OnLogin
на xmpp - это, вероятно, событие, объявленное так:
public event LoginEventHandler OnLogin;
где LoginEventHandler
как тип делегата, который, вероятно, объявлен как:
public delegate void LoginEventHandler(Object o);
Это означает, что для подписки на событие вам необходимо предоставить метод (или анонимный метод / лямбда-выражение ), который соответствует подписи делегата 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?"));
};