Как вызвать метод производного класса из базового класса?
Я прочитал несколько похожих вопросов по этому поводу, но ни один из них, похоже, не решил проблему, с которой я столкнулся. Типичным ответом является приведение в качестве производного класса, но я не могу, поскольку не знаю тип производного класса.
Вот мой пример:
class WireLessDevice { // base class
void websocket.parsemessage(); // inserts data into the wireless device object
}
class WiFi : WireLessDevice { // derived class
GPSLoc Loc;
}
Беспроводное устройство также может быть использовано для создания устройств Bluetooth, Wi-Max, Cellular и т. Д., И поэтому я не знаю, какой тип беспроводного устройства будет получать данные.
Когда пакет GPS получен на веб-сокете в базовом классе, мне нужно обновить производное устройство.с местоположением.
Я подумал, что, возможно, отправка сообщения через очередь или создание обработчика события и отправка местоположения в аргументах события, но они кажутся немного неуклюжими, когда данные остаются в классе.
Есть ли что-то встроенное в язык, которое позволило бы мне вызывать мое производное устройство из базового класса, не зная типа?