在c#中,我有一个场景,其中在至少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