سؤال

وأنا مطور الهدف-C ترقية تطبيق للعالم صافي. في طلبي الكائنات C، وأنا استخدم NSNotification تعترض على التواصل بشكل غير متزامن بين حفنة من الكائنات. هل هناك طريقة لفعل شيء مماثل في العالم صافي (أكثر تحديدا، وذلك باستخدام لغة C #)؟ النهج الأساسي هو أن واحدة المشاركات الكائن إخطارا بأن واحدة أو أكثر من الكائنات الاستماع ل.

وهناك ربما وسيلة واضحة للقيام بذلك، ولكن لم أجد حتى الآن ...

هل كانت مفيدة؟

المحلول

وعن طريق المندوبين في C # أو VB.NET هي السمة متكاملة لغة مماثلة. يمكنك إنشاء أحداث عن طريق تحديد أو باستخدام مندوب محدد مسبقا لتحديد "إشعار" التي يمكن نشرها واشتركت في. ثم تعريف حدث في فئة التي يمكنك الاشتراك ورفع. وثائق MSDN لديها نظرة عامة جيدة عندما تجد ذلك هنا . وخير مثال هو هنا .

نصائح أخرى

وربما كنت تستخدم NSNotification مع NSNotificationCenter وهو تنفيذ الحدث مجمع نمط ، فمن <ل أ href = "http://msdn.microsoft.com/en-us/library/ff921122٪28v=pandp.20٪29.aspx" يختلط = "نوفولو"> تنفيذها في مكتبة بريزم

ومع NSNotification كسكودي يمكن أن قمت بنشر الرسالة التي يمكن تلقيها من خلال أي فئة طالما لديك تنفيذ الكائن NSNotification داخل الطبقة التي هي للاستماع للوظائف .... وأعلن المراقب؛)

وهنا نظريتي قد تتمكن من محاولة الخروج ... في C # هل يمكن أن حاول إنشاء مركز إعلام الخاصة بك عن طريق إنشاء فئة ثابتة تحتوي على أحداث ثابتة. ثم في الطبقات الأخرى الخاصة بك، يمكنك فقط إنشاء مثيل من الأحداث. من خلال ذلك يمكن إعادة نفس السلوك كما NSNotificationCenter كسكودي ل.

ولقد حاولت أيضا هذا؟ http://www.codeproject.com/Tips/438582/Csharp -NotificationCenter؟ جي اس = 4398005 # xx4398005xx

ونعتذر عن أي خطأ مطبعي المفضل الرد عن طريق الهاتف هو حرج!

استخدم NotificationCenterlibrary في إدارة Nuget حزمة. هذه المكتبة تعمل مثل الهدف-C وسويفت NSNotificationCenter. آلية إخطار ارسال تمكن بث المعلومات للمراقبين المسجلين.

PM> Install-Package NotificationCenter

وجيثب:

https://github.com/Husseinhj/NotificationCenter

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top