Мне нужно выставить событие экземпляра класса, используя свойство из другого класса.
Если я выставлю событие, определенное в MyClass
, со свойством, определенным в том же MyClass
,так что событие работает как вспомогательное поле, все в порядке:
private event EventHandler<EventArgs> _somethingHappened;
public EventHandler<EventArgs> SomethingHappened
{
get => _somethingHappened;
}
Может звучать странно, но может быть полезно по какой-то причине.
Но если я выставлю (в том жеобразом) событие, определенное в AnotherClass
, доступ к которому осуществляется экземпляром этого AnotherClass
, следующим образом:
public EventHandler<EventArgs> SomethingStarted
{
get => Instance.Started;
}
, где Instance
- это экземпляр этого AnotherClass
, и определено Instance.Started
в AnotherClass
следующим образом:
public event EventHandler<EventArgs> Started;
тогда я получаю сообщение об ошибке: «Событие может появляться только на левой стороне».
Я просто не понимаю, почему первыйСлучай разрешен, а второй нет, хотя они кажутся очень похожими.