Ошибка компилятора CS0071
Обновлен: Ноябрь 2007
Сообщение об ошибке
Явная реализация интерфейса события должна использовать синтаксис метода доступа к событиям
An explicit interface implementation of an event must use event accessor syntax
При явной реализации события, объявленного в интерфейсе, необходимо вручную предоставить методы доступа к событию 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() { }
}