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