Как интерфейс объявляет событие с префиксом имени интерфейса в имени события?Я не уверен, что это законно C #.
Если вы можете уйти без "IFoo".префикс, просто объявите событие в вашем классе и позвольте компилятору создать обработчики добавления / удаления по умолчанию для вас.Все, о чем вам следует беспокоиться, это когда вызвать событие:
interface IFoo
{
event EventHandler OnChanged;
}
class MyClass : IFoo
{
public event EventHandler OnChanged;
private FireOnChanged()
{
EventHandler handler = this.OnChanged;
if (handler != null)
{
handler(this, EventArgs.Empty); // with appropriate args, of course...
}
}
}
... Или я неправильно понял, откуда вы наследуете событие?Ваш класс является производным от абстрактного базового класса, который, в свою очередь, реализует интерфейс (который объявляет событие)?Это может быть то, что вы имеете в виду, но это не было ясно в вопросе.