我是C#的新手,所以这可能只是我不了解某些基本的东西或错过了某些语言功能。我在网上搜索过,但是我似乎找到的所有例子在一个类中都有一切(换句话说,它们定义了事件以及事件触发时执行的方法),这不是我想要的。如何实现这种事件监听器设计?
对于我的场景,我想定义一个监听器方法的接口,它可以接受一些自定义参数(这将是我自己的EventArgs的权利?),它提供了说明。让我们假装它的一辆车,所以我有一个名为方法:
- 开始(MyCustomParameters PAR)
- 加速(MyCustomParameters PAR)
- 减速(MyCustomParameters PAR)
,然后我想能够创建提供这些方法的实际实现的类。
完全与这一切分开,我有一个基于外部过程定期执行的类,我希望它负责触发这些事件(汽车启动和加速等)。
这是我努力工作的基础知识,但至今没有运气。另外还有一个后续问题。如果我的侦听器实现类需要维护给定调用中的任何一种状态,那么最好如何做到这一点(例如,说当加速被调用时,它希望能够将加速后的速度返回到调用器的调用者事件 - 例如80公里)
希望你能因此,帮助,我非常感谢你
我认为你正在寻找依赖注入。您将需要实现类,一个类来管理实现的实例,然后需要一个处理实现的业务逻辑的监听器类。您需要确定接口方法的返回类型,以便您的处理程序/侦听器在触发时可以执行必要的操作。 –
@Evan L我前几天实际上对DI进行了一些阅读,虽然看起来很酷,但对于像这样简单的事情,我只想让一个类触发事件,另一个类来处理它们似乎有点矫枉过正?是什么让你说DI在这里是必要的? – Grudge