This is from an example accompanying the agsXMPP .Net assembly. I’ve read up on delegates, but am not sure how that fits in with this line of code (which waits for the logon to occur, and then sends a message. I guess what I’m looking for is an understanding of why delegate(0) accomplishes this, in the kind of simple terms I can understand.
xmpp.OnLogin += delegate(object o) { xmpp.Send(new Message(new Jid(JID_RECEIVER), MessageType.chat, 'Hello, how are you?')); };
The
delegate(object o){..}tells the compiler to package up whatever is inside the brackets as an object to be executed later, in this case whenOnLoginis fired. Without thedelegate()statement, the compiler would think you are tying to execute an action in the middle of an assignemnt statement and give you errors.