我有一个抽象类Capability,它模拟物理设备的每个功能。然后我有子类,例如InputSwitch和TemperatureSensor,每个子类都可以触发不同的事件。
InputSwitch相当简单——当按下物理开关时,代表它的对象会引发事件Triggered。
TemperatureSensor稍微复杂一点,因为它有两个事件 -TemperatureOK和TemperatureAlarm.
不仅仅是这两个子类,每个子类都可以引发不同的事件。在运行时添加的任何子类的实例也可能更多。
最终用户需要能够指定触发这些事件时会发生什么(如果有的话),因此基本上我正在考虑允许用户浏览所有Capability实例中可能发生的事件。每个功能当前都存储在一个List<Capability>.
有没有办法枚举可用事件?