Pregunta

Soy un desarrollador de Objective-C que traslada una aplicación al mundo .Net. En mi aplicación Obj-C, uso objetos NSNotification para comunicarme de forma asíncrona entre un puñado de objetos. ¿Hay alguna manera de hacer algo similar en el mundo .Net (más específicamente, usando el lenguaje C #)? El enfoque fundamental es que un objeto publica una notificación que uno o más objetos escuchan.

Probablemente haya una forma obvia de hacer esto, pero todavía no lo he encontrado ...

¿Fue útil?

Solución

El uso de delegados en C # o VB.NET es la función integrada de lenguaje equivalente. Puede crear eventos definiendo o usando un Delegado predefinido para definir la " notificación " Que puede ser publicado y suscrito a. Luego, define un evento en una clase a la que puedas suscribirte y subir. La documentación de MSDN tiene una buena descripción general una vez que la encuentre aquí . Un buen ejemplo es aquí .

Otros consejos

Probablemente use NSNotification con NSNotificationCenter, que es la implementación del patrón del Agregador de eventos , es implementado en la biblioteca Prism

Con NSNotification de xcode puede publicar un mensaje que puede recibir cualquier clase siempre y cuando haya implementado el objeto NSNotification dentro de la clase que es para escuchar las publicaciones ... Y declarar el observador;)

Aquí está mi teoría que podrías probar ... En C #, puede intentar crear su propio centro de notificaciones construyendo una clase estática que contenga eventos estáticos. Luego, en tus otras clases, simplemente creas una instancia de los eventos. Al hacer esto, podría recrear el mismo comportamiento que el NSNotificationCenter de Xcode.

¿También has probado esto? http://www.codeproject.com/Tips/438582/Csharp -NotificationCenter? Msg = 4398005 # xx4398005xx

lo siento por cualquier error tipográfico! ¡Responder por teléfono es incómodo!

Use la biblioteca NotificationCenter en Nuget Package Manager. Esta biblioteca funciona como Objective-C y Swift NSNotificationCenter. Un mecanismo de envío de notificaciones que permite la transmisión de información a los observadores registrados.

PM> Install-Package NotificationCenter

Github:

https://github.com/Husseinhj/NotificationCenter

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top