我需要使用来自不同类的属性公开类实例的事件。
MyClass如果我使用在中定义的属性公开在中定义的MyClass事件,以便该事件像支持字段一样工作,一切都很好:
private event EventHandler<EventArgs> _somethingHappened;
public EventHandler<EventArgs> SomethingHappened
{
get => _somethingHappened;
}
听起来可能很奇怪,但出于某种原因它可能很有用。
但是,如果我(以相同的方式)公开一个AnotherClass由 that 的实例访问的事件AnotherClass,如下所示:
public EventHandler<EventArgs> SomethingStarted
{
get => Instance.Started;
}
其中Instance是那个实例,AnotherClass定义Instance.Started如下AnotherClass:
public event EventHandler<EventArgs> Started;
然后我得到错误:“事件只能出现在左侧”。
我只是不明白为什么允许第一种情况而不允许第二种情况,尽管它们看起来非常相似。