代码之家  ›  专栏  ›  技术社区  ›  evaa

C#/.Net相当于NSNotification

  •  6
  • evaa  · 技术社区  · 17 年前

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

    4 回复  |  直到 17 年前
        1
  •  7
  •   Scott Willeke    11 年前

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

        2
  •  1
  •   diimdeep    13 年前

    您可能将NSNotification与NSNotificationCenter一起使用,后者是的实现 Event Aggregator pattern 是的 implemented in Prism library

        3
  •  1
  •   user1436046 user1436046    13 年前

    使用xcode的NSNotification,您可以发布任何类都可以接收的消息,只要您在类中实现了NSNotification对象,该对象将侦听发布。。。。并宣布观察员;)

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

    http://www.codeproject.com/Tips/438582/Csharp-NotificationCenter?msg=4398005#xx4398005xx

    对不起,有错了!用电话回复很尴尬!

        4
  •  0
  •   Hussein Habibi Juybari    8 年前

    使用 NotificationCenter

    PM> Install-Package NotificationCenter
    

    github:

    https://github.com/Husseinhj/NotificationCenter

    推荐文章