Consider we have a class with event declared:
public class FooBar
{
public event EventHandler FooBarEvent;
}
虽然这个事件是公开的,但我们不能从外部调用 FooBarEvent.Invoke
。
通过以下方法修改一个类可以解决这个问题:
public class FooBar
{
public event EventHandler FooBarEvent;
public void RaiseFooBarEvent(object sender, EventArgs eventArguments)
{
FooBarEvent.Invoke(sender, eventArguments);
}
}
为什么只能通过添加和移除监听器来限制访问外部公共事件?
notifyObservers
方法。 - Heinzi