C#事件系统

C#事件系统,c#,events,publisher,C#,Events,Publisher,我在c#项目中使用MVC,我的控制器知道模型,但我希望模型不知道控制器。因此,为了向控制器通知更改,模型触发控制器订阅的事件。这样我认为模型不知道控制器,但它知道吗?事件系统是事件发生时发布者调用自己的回调函数上的抽象层(在我的例子中,模型调用控制器的函数吗?),还是事件的发布者真的触发了一个事件,并且不知道是谁接收了它?NET事件系统是一个非常简单的发布/订阅系统(又名观察者模式)系统。通过创建公共事件,类发布事件。当对象将委托添加到对象的事件内部订阅者列表时,该对象订阅事件。稍后,当发布者对

我在c#项目中使用MVC,我的控制器知道模型,但我希望模型不知道控制器。因此,为了向控制器通知更改,模型触发控制器订阅的事件。这样我认为模型不知道控制器,但它知道吗?事件系统是事件发生时发布者调用自己的回调函数上的抽象层(在我的例子中,模型调用控制器的函数吗?),还是事件的发布者真的触发了一个事件,并且不知道是谁接收了它?

NET事件系统是一个非常简单的发布/订阅系统(又名观察者模式)系统。通过创建公共
事件
,类发布事件。当对象将
委托
添加到对象的事件内部订阅者列表时,该对象订阅事件。稍后,当发布者对象引发事件时,所有订阅者(如果有的话)发布者不关心是否有0、1或多个订阅者,也不关心订阅者是谁,它只是引发事件。在您的情况下,模型将通过委托调用控制器,但它是盲目的。无论如何,模型应该不知道控制器,您不需要任何复杂的事件发布。当然,您想要一个标准的.NET执行此操作的方法,请查看INotifyPropertyChanged接口()