C# 使用事件而不是抽象方法的优点是什么?C

C# 使用事件而不是抽象方法的优点是什么?C,c#,events,delegates,abstract-methods,C#,Events,Delegates,Abstract Methods,我想了解的是,什么时候是对委托使用事件的最佳实践,什么时候是使用抽象类、方法和继承的最佳实践 我知道委托和事件是松散耦合的,因此它使代码更加灵活。 我还发现event关键字确保了多个线程之间的同步,这不是由委托类执行的。如果多个线程同时向一个事件添加处理程序,则event关键字将确保同时添加这两个处理程序 现在我更清楚了。如果还有其他信息,请分享。简单地说,委托和事件是松散耦合的函数,这是与紧密耦合的抽象方法相比的优势之一 让我来用抽象来研究这个问题。考虑客户端类是从抽象类派生的。如果你想改变抽

我想了解的是,什么时候是对委托使用事件的最佳实践,什么时候是使用抽象类、方法和继承的最佳实践

我知道委托和事件是松散耦合的,因此它使代码更加灵活。 我还发现event关键字确保了多个线程之间的同步,这不是由委托类执行的。如果多个线程同时向一个事件添加处理程序,则event关键字将确保同时添加这两个处理程序
现在我更清楚了。如果还有其他信息,请分享。

简单地说,委托和事件是松散耦合的函数,这是与紧密耦合的抽象方法相比的优势之一


让我来用抽象来研究这个问题。考虑客户端类是从抽象类派生的。如果你想改变抽象类,比如说,你要在抽象类中添加一个新方法,客户端类应该相应地改变,因为它是紧密耦合的。为了克服这一缺点,我们可以使用松散耦合的功能,例如委托和事件。

这两个概念看起来如此不同,并且有如此不同的用例,以至于我对在特定用例中使用其中一个或另一个的想法感到有点困惑。你能不能举例说明一下你想在什么情况下使用on或其他?有一个答案可以解释事件的优点,这可能会对你有所帮助。