سؤال

في ج # لدي سيناريو حيث في 2 أماكن على الأقل يتم رفع أحداث المجال المختلفة وأريد هاندر واحد للتعامل معها مع نفس التعليمات البرمجية (المستمعين الآخرين قد تؤدي رمز معين الحدث).مع معالجات باستخدام النمط التالي;

public class SomeHandler : IHandler<SomeEvent>
{
   public SomeHandler()
   {
      //whatever init code
   }

   public void Handle(SomeArgs args)
   {
       //Common code
   }
}

إذن ما هي أفضل طريقة للتعامل مع أكثر من حدث مع نفس المعالج?شكرا

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

المحلول

IHandler<SomeEvent> هي واجهة لذلك ربما يمكنك تنفيذ عدة منها:

public class SomeHandler : IHandler<SomeEvent>, IHandler<SomeOtherEvent>
{
   public SomeHandler()
   {
      //whatever init code
   }

   public void Handle(SomeArgs args)
   {
       //Common code
   }

   public void Handle(SomeOtherArgs args)
   {
       //Common code
   }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top