使用事件而不是抽象方法有什么好处? C#[关闭]

问题描述 投票:-1回答:1

我想要了解的是何时最好的做法是使用带有委托的事件以及何时使用抽象类,方法和继承

  • 我知道代理和事件是松散耦合的,因此它使代码更加灵活。
  • 另外我发现“event关键字确保多个线程之间存在同步,这不是由Delegate类执行的。如果多个线程同时向事件添加处理程序,则event关键字确保两者都是添加“source link

现在对我来说更清楚了。如果还有其他信息,请分享。

c# events delegates abstract-methods
1个回答
1
投票

简单来说,Delegates和Events是松散耦合的函数,它是紧密耦合的抽象方法的优势之一。

让我带你看一下使用Abstraction的问题。考虑一个客户端类派生自Abstract类。如果你想改变Abstract类(假设你要在Abstract类中添加一个新方法),客户端类应该相应地改变,因为它紧密耦合。为了克服这个缺点,我们可能会采用松散耦合的功能,例如Delegates和Events。

© www.soinside.com 2019 - 2024. All rights reserved.