Herras Asked:2024-06-06 02:18:31 +0000 UTC2024-06-06 02:18:31 +0000 UTC 2024-06-06 02:18:31 +0000 UTC 事件和回调之间的区别 772 C# 中的事件和回调有什么区别? c# 1 个回答 Voted Best Answer aepot 2024-06-06T03:09:16Z2024-06-06T03:09:16Z 技术上没什么。在这两种情况下,相同的委托用作对一个或多个方法的引用MulticastDelegate。 如您所知,任何委托都可以是多播,并且通过调用相同的操作,您可以一次引发多个回调,但通常没有人这样做。 从逻辑上讲,区别在于易用性。在现代代码中,很少有人以纯粹的形式使用回调。因为首先有事件,其次有异步编程。 至于关键字event,它只是强制您实现发布者/订阅者设计模式的约束,即您将无法在声明事件委托的类之外调用事件委托。但在类中你可以,因为根据模板,类本身是发布者,其余的都是只能订阅的订阅者。
技术上没什么。在这两种情况下,相同的委托用作对一个或多个方法的引用
MulticastDelegate。如您所知,任何委托都可以是多播,并且通过调用相同的操作,您可以一次引发多个回调,但通常没有人这样做。
从逻辑上讲,区别在于易用性。在现代代码中,很少有人以纯粹的形式使用回调。因为首先有事件,其次有异步编程。
至于关键字
event,它只是强制您实现发布者/订阅者设计模式的约束,即您将无法在声明事件委托的类之外调用事件委托。但在类中你可以,因为根据模板,类本身是发布者,其余的都是只能订阅的订阅者。