【问题标题】:C# Events and EventHandler [duplicate]C# 事件和 EventHandler [重复]
【发布时间】:2014-03-04 10:09:25
【问题描述】:

我刚开始使用 C#,目前正在学习事件和委托。我理解(希望) EventHandler 是事件发生时将要调用的内容。我的问题是关于以下代码:

public partial class Form1 : Form
    {
        Timer foo = new Timer();

        public Form1()
        {
            InitializeComponent();
            foo.Tick += new EventHandler(Bar);
            foo.Interval = 1000;
        }


        private void button1_Click(object sender, EventArgs e)
        {
            foo.Start();
        }

        private void Bar(object sender, EventArgs e)
        {
            MessageBox.Show("Tick!");
        }
    }

哪个是正确的,为什么?

foo.Tick += new EventHandler(Bar);                      
or                
foo.Tick += Bar;

它们的工作方式似乎相同。虽然这里有一些类似的问题,但我似乎不明白。对不起,如果这个问题很愚蠢,我对 .NET 真的很陌生。

【问题讨论】:

  • 没有区别,其实“foo.Tick += Bar”是一个语法糖,等于“foo.Tick += new EventHandler(Bar)”

标签: c# events delegates event-handling


【解决方案1】:

它们是一样的。 foo.Tick += Barfoo.Tick += new EventHandler(Bar) 的语法糖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多