我是一名Objective-C开发人员,将应用程序移植到.Net世界。在我的Obj-C应用程序中,我使用NSNotification对象在少数对象之间进行异步通信。有没有办法在.Net世界中做类似的事情(更具体地说,使用C#语言)?基本方法是一个对象发布一个或多个对象侦听的通知。

这可能有一种显而易见的方法,但我还没有找到它......

有帮助吗?

解决方案

在C#或VB.NET中使用Delegates是等效的语言集成功能。您可以通过定义或使用预定义的委托来定义“通知”来创建事件。可以发布和订阅。然后在可以订阅和引发的类上定义一个事件。一旦找到它,MSDN文档就会有一个很好的概述这里。一个很好的例子是这里

其他提示

您可能在NSNotificationCenter中使用NSNotification,这是事件聚合器模式的实现,它是在Prism库中实施

使用xcode的NSNotification,你可以发布一个可以被任何类接收的消息,只要你在类中实现了要监听帖子的NSNotification对象....并声明观察者;)

这是我可以尝试的理论...... 在C#中,您可以尝试通过构建包含静态事件的静态类来创建自己的通知中心。然后在其他类中,您只需创建事件的实例。通过这样做,您可以重新创建与Xcode的NSNotificationCenter相同的行为。

你也试过这个吗? http://www.codeproject.com/Tips/438582/Csharp -NotificationCenter?MSG = 4398005#xx4398005xx

抱歉任何拼写错误!通过电话回复很尴尬!

在Nuget Package Manager中使用 NotificationCenter 库。该库的工作方式与Objective-C和Swift NSNotificationCenter类似。一种通知调度机制,可以向注册的观察者广播信息。

PM> Install-Package NotificationCenter

Github:

https://github.com/Husseinhj/NotificationCenter

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top