何时在c#中使用空事件访问器?

时间:2016-06-02 12:43:06

标签: c# events accessor

Interface-Events可以显式实现。例如,我们可以pass delegates to another Event

此处TestHandler - 事件被SomeHandler包裹(不确定它是否是正确的术语) - 实现ISomeHandleable - 接口的事件。

public delegate void HandlerDelegate();

public interface ISomeHandleable
{
    event HandlerDelegate SomeHandler;
}

public class Test : ISomeHandleable
{
    event HandlerDelegate ISomeHandleable.SomeHandler
    {
        add { TestHandler += value; }
        remove { TestHandler -= value; }
    }

    public event HandlerDelegate TestHandler;


    public void Fire() => TestHandler?.Invoke();
} 

我刚刚看到,我们也可以按如下方式实施ISomeHandleable.SomeHandler

event HandlerDelegate ISomeHandleable.SomeHandler
{
    add { }
    remove { }
}

但是我还没有找到任何文档和可能的用例,我也不明白它的作用。

我只知道,代理仍然可以添加到ISomeHandleable.SomeHandler,但不再可以通过类Test调用该事件。

但是,您可以使用空的访问者定义事件,它的作用是什么以及如何使用它?

0 个答案:

没有答案