如何根据调用类对自定义事件做出不同的反应?

时间:2014-10-31 09:59:49

标签: c# wpf oop events delegates

我迷失了如何为我的问题设计最好的类架构。我使用CardReader对象,它抛出以下事件:

// CardReader has read a card
public event CardReader.CardReadHandler CardRead;

// CardReader has a log message which can be processed
public event CardReader.LoggingHandler CardReaderLogging;

// A new hardware is connected to the computer
public event CardReader.ConnectHandler ReaderConnect;

在我的WPF应用程序中,我想对这些事件做出不同的反应。例如:

  • 在MainWindow中,CardRead事件必须导致某种处理(卡ID - >后端等)
  • 在ConfigurationWindow中,CardRead事件只会导致“成功” - 消息或某事

我对在窗口类中处理这些事件犹豫不决,感觉好像它属于自己的处理类或其他东西。目前,我编写了一个包装类,它以MainWindow为例,然后能够执行MainWindow方法(因为它保留了对调用MainWindow的私有引用):

public MainWindow()
{
InitializeComponent();
this.cardReader = new CardReader(this);
}

如果我继续这个想法,这将导致单独的CardReader包装类,每个类采用不同类型的窗口:

public ConfigurationWindow()
{
InitializeComponent();
this.cardReader = new CardReader(this);
}

你有什么建议吗?

0 个答案:

没有答案