gpt4 book ai didi

asp.net - 仍然无法理解 ASP.NET 事件。他们有什么意义?

转载 作者:行者123 更新时间:2023-12-01 07:06:08 24 4
gpt4 key购买 nike

也许我很慢,但我只是不明白为什么你会使用不是从实际 Action (如点击)派生的事件。当您可以调用一个方法时,为什么还要经历创建委托(delegate)和事件的繁琐呢?似乎当您创建一个事件时,您所做的只是为调用者创建一种方法,让调用者通过一些复杂的过程来调用一个简单的方法。调用者必须自己引发事件!我不明白。

或者也许我只是没有掌握这个概念。我需要像 OnClick 这样的事件以及与控件的交互,但是对于类呢?我尝试为我的一个类实现事件,例如,当项目的来源发生变化时,但很快意识到没有意义,因为我可以在想要执行某个操作而不是创建事件时调用一个方法,引发事件,并编写事件处理程序。另外,我可以重用我的方法,而我不一定能重用我的事件处理程序。

请有人让我直截了当。我觉得我在这里错了,我想得到纠正。我问的最后一个问题并没有真正获得任何有用的答案。

谢谢。

最佳答案

我一直喜欢广播电台的比喻。

当一个广播电台想要广播一些东西时,它只是将它发送出去。它不需要知道是否真的有人在听。您的 radio 能够向广播电台注册(通过拨盘调谐),并且所有广播电台的广播(我们的小比喻中的事件)都被 radio 接收,并将它们翻译成声音。

没有这种注册(或事件)机制。广播电台必须轮流联系每一个电台,询问它是否想要广播,如果你的电台说是,然后直接向它发送信号。

您的代码可能遵循非常相似的范例,其中一个类执行一项操作,但该类可能不知道,或者可能不想知道谁会关心或对发生的该操作采取行动。因此,它为任何对象提供了一种注册或注销自身的方法,以通知该操作已发生。

关于asp.net - 仍然无法理解 ASP.NET 事件。他们有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com