Compiler Error CS0071
事件的显式接口实现必须使用事件访问器语法
当显式实现在接口中声明的事件时,您必须手动提供通常由编译器提供的 add 和 remove 事件访问器。访问器代码可将类中的接口事件连接到另一事件(稍后在本主题中演示),或连接到其自身的委托类型。有关更多信息,请参见如何:实现接口事件(C# 编程指南)。
下面的示例生成 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() { }
}