From: Göran Andersson on
Tony Johansson wrote:
> Hi!
>
> Below is a snippet of a class Test
> Normally when you use events and want to subscribe to an event you use
> statement like this
> timer.Tick += new EventHandler(t_Tick);
> In the class below you can subscribe to an event by writing this statement
> timer.Tick += t_Tick;
> instead and skip the delegate EventHandler and it works and I'm very
> surprised.
>
> So can somebody explain why it't possible to subscribe to an event by using
> this statement
> timer.Tick += t_Tick;
>
> public partial class Test : Form
> {
> private Timer timer;
>
> public Test()
> {
> timer = new Timer();
> timer.Interval = 1000;
> //timer.Tick += new EventHandler(t_Tick);
> timer.Tick += t_Tick;
> timer.Start();
> }
>
> void t_Tick(object sender, EventArgs e)
> {
> //some code here
> }
>
> //Tony
>

Because the compiler adds the construction of the EventHandler when you
add a delegate to an event. It's just a shortcut, the generated code is
the same.

--
G�ran Andersson
_____
http://www.guffa.com