Вопрос

Я разработчик Objective-C, портирующий приложение в .Сетевой мир.В моем приложении Obj-C я использую объекты NSNotification для асинхронной связи между несколькими объектами.Есть ли какой-нибудь способ сделать что-то подобное в .Сетевом мире (более конкретно, используя язык C #)?Фундаментальный подход заключается в том, что один объект отправляет уведомление, которое прослушивает один или несколько объектов.

Вероятно, есть очевидный способ сделать это, но я его пока не нашел...

Это было полезно?

Решение

Использование делегатов в C # или VB.NET является эквивалентной встроенной функцией языка.Вы можете создавать события, определяя или используя предопределенного делегата для определения "уведомления", которое можно публиковать и на которое можно подписаться.Затем определите событие в классе, на которое вы можете подписаться и вызывать его.Документация MSDN содержит хороший обзор, как только вы ее найдете здесь.Хорошим примером является здесь.

Другие советы

Вероятно, вы используете NSNotification с NSNotificationCenter, который является реализацией Шаблон агрегатора событий, это реализовано в библиотеке Prism

С помощью NSNotification xcode вы можете опубликовать сообщение, которое может быть получено любым классом, если у вас есть объект NSNotification внутри класса, который должен прослушивать сообщения....И объявить наблюдателем ;)

Вот моя теория, которую вы могли бы опробовать...В C # вы могли бы попробовать создать свой собственный центр уведомлений, создав статический класс, содержащий статические события.Затем в других ваших классах вы просто создаете экземпляр событий.сделав это, вы могли бы воссоздать то же поведение, что и NSNotificationCenter в Xcode.

Вы тоже пробовали это? http://www.codeproject.com/Tips/438582/Csharp-NotificationCenter?msg=4398005#xx4398005xx

извините за любую опечатку!Отвечать по телефону неудобно!

Использование NotificationCenterбиблиотека в менеджере пакетов Nuget.Эта библиотека работает подобно Objective-C и Swift NSNotificationCenter.Механизм рассылки уведомлений, который позволяет транслировать информацию зарегистрированным наблюдателям.

PM> Install-Package NotificationCenter

Гитхаб :

https://github.com/Husseinhj/NotificationCenter

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top