我在这里是因为我有一个程序和一些功能。
但我不确定这些功能在编程术语中的名称。所以我什至无法对此进行适当的谷歌搜索。我很想知道这叫什么,这样我就可以推进我的分析和研究。
我用 C# 和 Windows 窗体开发了一个程序。目前它与 YouTube API 接口并监控聊天。当聊天消息到达以及消息遵循某种格式/语法时,我还提出了一些事件。到目前为止一切正常。
我想做的是:
如果有人使用我的软件,他只能访问二进制文件。但想编写自己的逻辑,处理我提出的一些事件。他们是怎么做到的?
我希望用户编写自己的程序/类,将其放在特定的文件夹中。我希望它有一个 Start() 和 End() 方法。在方法内部,他们可以编写代码来订阅他们选择的任何事件并做他们需要做的事情。
我已经在我的主循环中编写了代码,它将遍历应该包含用户程序的文件夹,并尝试调用他们的程序/类的 Start/End 方法。
对我来说,作为项目的原始作者,我可以继续在文件夹中编写代码。一旦我构建并执行。一切正常。主程序在我添加的程序/类中触发开始/结束。事件也处理得很好。
但是如果有人使用我的软件,想要处理它的事件,而不需要重新编译我的代码,那又如何呢?他们是怎么做到的?