Hey, I wondered why is it that the return type of events such as
private void button1_Click(object sender, EventArgs e)
is always void?
Can it return any other value too?
By default most event handlers return void, however, it is possible for handlers to return values.
Do events have return type? By default most event handlers return void (No return type), however, it is possible for handlers to return values.
Firing an event is a one-way signal. By default most event handlers return void , because single event may have several subscribers, and return value could become ambiguous. However, it is possible for handlers to return values.
In programming, an event handler is a callback routine that operates asynchronously once an event takes place. It dictates the action that follows the event. The programmer writes a code for this action to take place. An event is an action that takes place when a user interacts with a program.
An event handler signature, that is the return type and the number and types of arguments it takes, are determined by the signature of the delegate
used to define the event. So the Click event of the Button in your example does not support any return values.
Typically you would not expect to return a value from an event handler as a function return value because an event can have multiple subscribers and each would be returning a return value independently of the other handlers and would require special event firing code to decide what to do with all the return values.
Typically, if you need to communicate back from an event handler the EventArgs
structure would contain members that the handler can update and each handler will get an opportunity to look at the values and update accordingly, and the code firing the event only needs to react to the final value in the structure.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With