编译器错误 CS0071

事件的显式接口实现必须使用事件访问器语法

显式实现在接口中声明的事件时,必须手动提供通常由编译器提供的 addremove 事件访问器。 访问器代码可将接口事件连接到类中的另一事件(稍后在本主题中介绍),或连接到其自身的委托类型。 有关详细信息,请参阅如何实现接口事件

示例

下面的示例生成 CS0071。

// CS0071.cs
public delegate void MyEvent(object sender);

interface ITest
{
    event MyEvent Clicked;
}

class Test : ITest
{
    event MyEvent ITest.Clicked;  // CS0071

    // Try the following code instead.
    /*
    private MyEvent clicked;

    event MyEvent ITest.Clicked
    {
        add
        {
            clicked += value;
        }
        remove
        {
            clicked -= value;
        }
    }
    */
    public static void Main() { }
}