在C#中,我有一个场景,在至少2个地方引发了不同的域事件,我希望单个处理程序使用相同的代码处理它们(其他侦听器可以执行特定于事件的代码)。 处理程序使用以下模式;
public class SomeHandler : IHandler<SomeEvent>
{
public SomeHandler()
{
//whatever init code
}
public void Handle(SomeArgs args)
{
//Common code
}
}
那么使用相同的Handler处理多个事件的最佳方法是什么? 感谢
答案 0 :(得分:3)
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
}
}