我已经阅读了几个类似的问题,但似乎没有一个可以解决我面临的问题。典型的答案是强制转换为派生类,但我不能,因为我不知道派生类的类型。
这是我的例子:
class WireLessDevice { // base class
void websocket.parsemessage(); // inserts data into the wireless device object
}
class WiFi : WireLessDevice { // derived class
GPSLoc Loc;
}
无线设备也可以派生为蓝牙、Wi-Max、蜂窝等设备,因此我不知道哪种类型的无线设备将接收数据。
当在基类的 websocket 上收到 GPS 数据包时,我需要更新派生设备的位置。
我想也许可以通过队列发送消息或创建事件处理程序并在事件参数中发送位置,但是当数据保留在类中时,这些似乎有点笨拙。
语言中是否有内置的东西可以让我在不知道类型的情况下从基类调用派生设备?