Domanda

Sono uno sviluppatore di Objective-C che esegue il porting di un'applicazione nel mondo .Net. Nella mia applicazione Obj-C, utilizzo gli oggetti NSNotification per comunicare in modo asincrono tra una manciata di oggetti. C'è un modo per fare qualcosa di simile nel mondo .Net (in particolare, usando il linguaggio C #)? L'approccio fondamentale è che un oggetto pubblica una notifica che uno o più oggetti ascoltano.

Probabilmente esiste un modo ovvio per farlo, ma non l'ho ancora trovato ...

È stato utile?

Soluzione

L'uso dei delegati in C # o VB.NET è la funzione integrata di linguaggio equivalente. Puoi creare eventi definendo o utilizzando un delegato predefinito per definire la "notifica" che può essere pubblicato e sottoscritto. Quindi definisci un evento in una classe a cui puoi iscriverti e rilanciare. La documentazione di MSDN ha una buona panoramica una volta trovata qui . Un buon esempio è qui .

Altri suggerimenti

Probabilmente usi NSNotification con NSNotificationCenter che è l'implementazione di Pattern aggregatore di eventi , è implementato nella libreria Prism

Con NSNotification di xcode puoi pubblicare un messaggio che può essere ricevuto da qualsiasi classe fintanto che hai implementato l'oggetto NSNotification all'interno della classe che deve ascoltare i post .... E dichiarare l'osservatore;)

Ecco la mia teoria che potresti provare ... In C # puoi provare a creare il tuo centro notifiche costruendo una classe statica contenente eventi statici. Quindi nelle altre classi, devi solo creare un'istanza degli eventi. in questo modo è possibile ricreare lo stesso comportamento di NSNotificationCenter di Xcode.

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

scusa per qualsiasi errore di battitura! La risposta per telefono è scomoda!

Utilizza la libreria NotificationCenter in Nuget Package Manager. Questa libreria funziona come Objective-C e Swift NSNotificationCenter. Un meccanismo di invio di notifiche che consente la trasmissione di informazioni agli osservatori registrati.

PM> Install-Package NotificationCenter

Github:

https://github.com/Husseinhj/NotificationCenter

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top