Привет, я создаю платформу для создания барабанных игр, но в мою структуру можно добавлять разные типы игр, а не только барабанные игры. Например, основная игра — это игра с барабанами, а бонусная игра — это игра в рулетку. В моей структуре теперь есть основной класс, содержащий все игры. Пользователь платформы может сам решить, какая игра является основной или бонусной.
Родительский класс обеих игр — «Game», класс игры с барабанами — «ReelGame», а класс игры в рулетку — «RouletteGame». В моем классе, содержащем все игры, есть список «Игра».
Если теперь я захочу получить доступ к игре, мне будет возвращен класс «Game», и мне придется приводить «Game» снова и снова. Есть ли способ предотвратить это?
Надеюсь, это объяснено достаточно хорошо

вот краткий пример
Игра публичного класса { защищенный int _id; защищенный GameStateMachine _gameStateMachine; } публичный класс ReelGame:Game { частный слот _slot; } публичный класс RouletteGame:Game { частная таблица _table; } общедоступный класс GameController: { частный список _mainGames; частный список _bonusGames; частная игра GetGame (тип int, индекс int) { если (тип == 0) { вернуть _mainGame[индекс]; } иначе если (тип == 0) { вернуть _bonusGames[индекс]; } } }