Есть класс
Самолет
у него есть свойство
Тип салона
и есть Метод
УборкаСалона
в коде это выглядит так.
Хотелось бы в классах CargoSalonCleaner и MilitarySalonCleaner в качестве параметров для метода Clean иметь уже конкретный тип салона а не делать кастинг из SalonType
abstract class Aircraft
{
abstract SalonType Salon { get; set; }
}
abstract class SalonType { }
SalonCargoType : SalonType { }
MilitaryCargoType : SalonType { }
abstract SalonCleaner
{
abstract void Clean(SalonType salon);
}
CargoSalonCleaner : SalonCleaner
{
void Clean(SalonCargoType salon)
{
}
}
MilitarySalonCleaner : SalonCleaner
{
void Clean(MilitaryCargoType salon)
{
}
}