简体   繁体   中英

what is the meaning of “ += ( s, e )” in the code?

What is exactly the += ( s, e ) in the code?

example:

this.currentOperation.Completed += ( s, e ) => this.CurrentOperationChanged();

This is the way to attach an event handler using Lambda expression.

For example:

button.Click += new EventHandler(delegate (Object s, EventArgs e) {
            //some code
        });

Can be rewritten using lambda as follows:

button.Click += (s,e) => {
            //some code
        };

One thing to note here. It is not necessary to write 's' and 'e'. You can use any two letters, eg

button.Click += (o,r) => {};

The first parameter would represent the object that fired the event and the second would hold data that can be used in the eventhandler.

This codes adds an event listener in form of a Lambda expression. s stands for sender and e are the EventArgs . Lambda for

private void Listener(object s, EventArgs e) {

}

This is an assignment of a delegate instance (the start of a lambda expression) to an event invocation list. The s, e represents the sender and EventArgs parameters of the event delegate type.

See http://msdn.microsoft.com/en-us/library/ms366768.aspx for more info.

It is a shorthand for an event handler. s --> object sender and e --> some type of EventArgs.

It can also be rewrriten as:

public void HandlerFunction(object sender, EventArgs e)
{
   this.loaded = true;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM