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

前端 未结 4 1062
无人及你
无人及你 2021-02-06 11:22

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

example:

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

相关标签:
4条回答
  • 2021-02-06 11:45

    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, e.g.

    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.

    0 讨论(0)
  • 2021-02-06 11:46

    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) {
    
    }
    
    0 讨论(0)
  • 2021-02-06 11:50

    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.

    0 讨论(0)
  • 2021-02-06 11:52

    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;
    }
    
    0 讨论(0)
提交回复
热议问题