OnLogin
xmpp では、おそらく次のように宣言されたイベントです。
public event LoginEventHandler OnLogin;
whereLoginEventHandler
は、おそらく次のように宣言されたデリゲート型です。
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 戻り値の型 + 1 つのオブジェクト引数) と一致します。匿名メソッド本体内で使用されていないため、 contravarianceobject o
を利用してパラメーターを削除することもできます。
xmpp.OnLogin += delegate
{
xmpp.Send(new Message(new Jid(JID_RECEIVER),
MessageType.chat,
"Hello, how are you?"));
};