Использовать свойство базового типа если генерик тип неизвестен - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, предположим, есть обычный мяч и коробка для него, потом появился специфичный мяч для работы с которым нужно расширить обычную коробку.
Листинг программы
  1. class Ball
  2. {
  3. }
  4. class SpecificBall : Ball
  5. {
  6. }
  7. class BallBox
  8. {
  9. public virtual Ball Ball { get; set; }
  10. public virtual void Update()
  11. {
  12. ... логика для обычного мяча
  13. }
  14. ...
  15. }
  16. class SpecificBallBox : BallBox
  17. {
  18. public override SpecificBall Ball { get; set; } /// ???
  19. public virtual void Update()
  20. {
  21. ... логика для специфичного мяча
  22. }
  23. ...
  24. }
Я знаю , что c# не поддерживает вариативность, но как тогда решить подобную задачу и сохранить типобезапосность?

Решение задачи: «Использовать свойство базового типа если генерик тип неизвестен»

textual
Листинг программы
  1. class SmartRefrigerator : ItemBox<Food>
  2. {
  3.     public void FindExpiredMeals()
  4.     {
  5.         ...
  6.     }
  7. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы