예제 #1
0
 public void RemoveEventsForDevices(IDeviceEventBinder binder)
 {
     foreach (Device d in Devices)
     {
         binder.UnBindEventsFromDevice(d);
     }
     //NewDeviceEvent -= binder.BindEventsToDevice;
     _deviceDiscovered -= binder.BindEventsToDevice;
 }
예제 #2
0
 public void AddEventsForDevices(IDeviceEventBinder binder)
 {
     //已有设备和新设备都会关心这些事件。
     foreach (Device d in Devices)
     {
         binder.BindEventsToDevice(d);
     }
     //不要写DeviceDiscovered += binder.BindEventsToDevice; 那里面的value.Invoke会导致binder.BindEventsToDevice针对每个设备再被调用一遍。
     _deviceDiscovered += binder.BindEventsToDevice;
 }