接口事件的实战使用有什么例子可以很好地体现接口事件的强大功能(在接口内声明事件)?大多数时候我只看到接口内部的公共抽象方法。当串行端口接收到数据时,我使用事件来发出信号。这是我的界面。公共接口ISerialPortWatcher{事件EventHandlerReceivedData;事件EventHandlerStartedListening;事件EventHandlerStoppedListening;SerialPortSettings端口选项{设置;}boolListening{get;放;无效停止();无效开始();}publicclassReceivedDataEventArgs:EventArgs{publicReceivedDataEventArgs(stringdata){Data=data;}公共字符串数据{得到;私有集;.NET框架中的一个很好的例子是INotifyPropertyChanged接口。该接口只包含一个成员:PropertyChanged事件。在WPF中,您可以声明控件将显示对象实例的特定属性。但是,如果基础属性发生变化,控件将如何更新?如果绑定对象实现INotifyPropertyChanged接口,则WPF框架可以只侦听PropertyChanged并适当地更新它。这是一个示例publicinterfaceIMainAppWindow{eventEventHandlerClosed;}//版本1主窗口publicMainForm:Form,IMainAppWindow{}//版本2主窗口publicMainWindow:Window,IMainAppWindow{eventEventHandlerClosed;publicvoidOnClosed(,RoutedEventArgse){if(Closed!=null){Closed(this,e);我的一个应用程序中有一些这样的代码。该应用程序是用winforms编写的,然后升级为WPF。接口中的事件与方法非常相似。您可以使用它们如何使用任何界面。publicinterfaceIInterface{eventEventHandlerQuestionAsked;}publicclassClass:IInterface{eventEventHandlerQuestionAsked;//与典型事件一样,您可能需要受保护的OnQuestionAsked}INotifyPropertyChanged在整个框架中使用。只要看看INotifyPropertyChanged.PropertyChanged事件经典场景是具有被动视图的MVP模式。该窗体实现了一个具有NameChanged事件的视图界面。创建/使用视图的演示者订阅此事件。当文本框中的名称文本更改时,视图会触发此事件。然后通知主持人。由于演示者只知道来自视图界面的事件,您可以提供一个模拟视图用于测试目的。视图完全脱离演示者。以上就是C#学习教程的全部内容:接口事件的实际使用。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
