Цитата Сообщение от Small_Bee Посмотреть сообщение
А не переопределяй классы. переопредели поведение.
Я не в курсе, как у тебя все устроено, но к примеру.

public double AircraftObserver.GetIAS(IMeasureConverter converter)

где AircraftObserver твой класс, который следит за самолетом.
GetIAS метод, возвращающий IAS
IMeasureConverter интерфейс, ответственный за перевод значений из одной системы в другую. Содержит набор методов для перевода м/с в что-то еще, метры в что-то еще и т.п. AircraftObserver получает сырые данные и переводит их в требуемый формат, используя класс с этим интерфейсом.
Можно класс этот к примеру вообще в конструкторе передавать.
Юзер к примеру может сам выбрать, в какой системе ему данные возвращать. Тогда скажем класс UserDefinitions будет в одном из свойств содержать конкретную, нужную именно этому юзеру реализацию IMeasureConverter. Оттуда ее берем и передаем в методе GetIAS и остальных.

Т.е. у тебя будет набор "переводчиков" IMeasureConverter на все случаи жизни, подставляй нужный.
Спасибо! Мда, так мыслить классами мне еще учиться и учиться. Правда, мне этот вариант не совсем подходит.
Задача - определить какие данные идут, преобразовать их не проблема (можно и на клиенте).
Так сказать для аутентичной внешней панели, чтоб она сама настраивалась : идут данные в футах (игрок выбрал английски самолет) - панель натягивает скин с приборами в британской системе, идут метры - скин с приборами в метрической системе. Как-то так.
Не найду свойство однозначно определяющее страну-производителя самолета