Frage

Ich bin ein Objective-C-Entwickler eine Anwendung auf die .NET-Welt zu portieren. In meiner Obj-C-Anwendung, verwende ich NSNotification asynchron zwischen einer Handvoll von Objekten zu kommunizieren Objekte. Gibt es eine Möglichkeit etwas ähnliches in der .NET-Welt (genauer gesagt, die Sprache C # verwendet wird) zu tun? Der grundlegende Ansatz besteht darin, dass ein Objekt bucht eine Benachrichtigung, dass ein oder mehr Objekte anhören.

Es ist wohl offensichtlich, dass die Art und Weise, dies zu tun, aber ich habe festgestellt, es noch nicht ...

War es hilfreich?

Lösung

Mit Delegierten in C # oder VB.NET ist die äquivalente Sprache integrierte Funktion. Sie können Ereignisse durch die Definition oder mit einem vordefinierten Delegieren erstellen die „Benachrichtigung“ zu definieren, die veröffentlicht und abonniert werden kann. Dann ein Ereignis definieren, die auf einer Klasse, die Sie abonnieren können und erhöhen. Die MSDN-Dokumentation hat einen guten Überblick, wenn Sie es hier finden. Ein gutes Beispiel ist hier .

Andere Tipps

Sie wahrscheinlich NSNotification mit NSNotificationCenter verwenden, die Implementierung von Mustern Ereignis Aggregator ist, ist es in Prism-Bibliothek implementiert

Mit Xcode NSNotification können Sie eine Nachricht hinterlassen, die so lange von jeder Klasse erhalten kann, wie Sie das NSNotification Objekt innerhalb der Klasse implementieren, die für die Beiträge zu hören ist .... Und die Beobachter erklären;)

Hier ist meine Theorie könnte man ausprobieren ... In C # können Sie versuchen, Ihr eigenes Benachrichtigungszentrum zu schaffen, indem eine statische Klasse mit statischen Ereignissen zu konstruieren. Dann in den anderen Klassen, die Sie gerade eine Instanz der Ereignisse erstellen. durch diese Weise könnte man das gleiche Verhalten wie Xcode NSNotificationCenter neu erstellen.

Haben Sie das auch schon versucht? http://www.codeproject.com/Tips/438582/Csharp -NotificationCenter? msg = 4398005 # xx4398005xx

entschuldigen uns für etwaige Tippfehler! Beantworten per Telefon ist umständlich!

Verwenden Sie NotificationCenterlibrary in Nuget Package Manager. Diese Bibliothek funktioniert wie Objective-C und Swift NSNotificationCenter. Eine Benachrichtigung Versand Mechanismus, der die Übertragung der Informationen zu registrierten Beobachter ermöglicht.

PM> Install-Package NotificationCenter

Github:

https://github.com/Husseinhj/NotificationCenter

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top