我想制作一个非常简单的事件总线,它允许任何客户端订阅特定类型的事件,并且当任何发布者使用 EventBus.PushEvent()
在总线上推送事件时方法只有订阅该特定事件类型的客户端才会获取该事件。
我正在使用 C# 和 .NET 2.0。
最佳答案
Tiny Messenger 是一个不错的选择,我已经在实际项目中使用它 2.5 年了。来自 Wiki 的一些代码示例(链接如下):
发布
messageHub.Publish(new MyMessage());
订阅
messageHub.Subscribe<MyMessage>((m) => { MessageBox.Show("Message Received!"); });
messageHub.Subscribe<MyMessageAgain>((m) => { MessageBox.Show("Message Received!"); }, (m) => m.Content == "Testing");
代码位于 GitHub 上:https://github.com/grumpydev/TinyMessenger
维基在这里:https://github.com/grumpydev/TinyMessenger/wiki
它还有一个 Nuget 包
Install-Package TinyMessenger
关于.net - .NET 的简单事件总线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/368265/