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