Избегайте кастинга с разными типами игрC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Избегайте кастинга с разными типами игр

Сообщение Anonymous »


Привет, я создаю платформу для создания барабанных игр, но в мою структуру можно добавлять разные типы игр, а не только барабанные игры. Например, основная игра — это игра с барабанами, а бонусная игра — это игра в рулетку. В моей структуре теперь есть основной класс, содержащий все игры. Пользователь платформы может сам решить, какая игра является основной или бонусной.

Родительский класс обеих игр — «Game», класс игры с барабанами — «ReelGame», а класс игры в рулетку — «RouletteGame». В моем классе, содержащем все игры, есть список «Игра».

Если теперь я захочу получить доступ к игре, мне будет возвращен класс «Game», и мне придется приводить «Game» снова и снова. Есть ли способ предотвратить это?

Надеюсь, это объяснено достаточно хорошо :D спасибо за любые идеи

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»