在 C# 中的典型事件模式中,我通常会看到调用对象作为参数发送,例如:
// in the invoking class
private void TriggerMyEvent()
{
MyEvent?.Invoke(this, new MyEventArgs());
}
// in the subscriber class
private void OnMyEvent(object sender, MyEventArgs e)
{
// do stuff
}
我见过这种方式被广泛使用,但感觉这种模式有点难以使用并且很容易被滥用:
那么,为什么这个约定是这样的呢?我的评论有错吗?使用此发送器的“干净”方式是什么?