.NET - 事件添加和删除

本文关键字:删除 添加 事件 NET | 更新日期: 2023-09-27 18:27:20

在.NET中创建和使用事件时,我从未使用过"添加"和"删除"。 看看下面的代码:

public event EventHandler InitComplete
    {
        add
        {
            base.Events.AddHandler(EventInitComplete, value);
        }
        remove
        {
            base.Events.RemoveHandler(EventInitComplete, value);
        }
    }

我意识到这是一个非常简单的问题,但是"价值"在哪里声明?任何人都可以推荐一个关于使用添加和删除的好教程。 我已经通读了一些,但仍然不够明智。

.NET - 事件添加和删除

value是"正在订阅或取消订阅的任何处理程序"。所以你可以想到:

button.Click += HandleClick;

类似于:

button.add_Click(new EventHandler(HandleClick));

在这方面,事件就像属性一样:

private string foo;
public string Foo
{
    get { return foo; }
    set { foo = value; }
}

。除了对于事件,你有addremove,而不是getset.

有关详细信息,请参阅我关于事件和委托的文章 - 有关详细信息,请参阅C# 4 语言规范的第 10.8 节。