Создайте тип коллекции, который когда-то будет List <T>, а для других целей будет Stack <t> - PullRequest
2 голосов
/ 26 июня 2011

Я занимаюсь разработкой карточной игры. Я создал коллекцию карт, которую я использую для двух случаев:

  1. Карта конкретного игрока.
  2. Первая упаковка.

Для первого использования мне нужно, чтобы тип коллекции был List. Для второго использования мне нужно, чтобы тип коллекции был Stack.

Можно ли создать тип коллекции, которая когда-то будет списком, а в иначе использовать это будет стек?

Обе операции использования коллизий имеют одинаковые функции, поэтому мне нужна эта возможность.

1 Ответ

1 голос
/ 26 июня 2011

Просто унаследуйте от List<T> и добавьте методы Push и Pop, и вы в значительной степени там.

Если вы действительно хотите запретить функциональность List (произвольный доступ и т. Д.), Когда онв «режиме стека» вы захотите создать IStack<T> интерфейс и использовать его как IStack<T>, когда вам нужна только функциональность стека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...