Лучшая практика для создания типизированных коллекций / списков с внутренней или частной функцией добавления, удаления?

2

Я часто выставляю типизированные коллекции и списки. Часто при экспонировании коллекций и списков я недовольна тем, что методы добавления и удаления являются общедоступными. В более старых версиях .Net я реализовал IEnumerable, но это большая работа.

Каковы лучшие альтернативы?

Я видел похожие вопросы, но не конкретно о Add/Remove accessors

Спасибо.

  • 0
    Я отредактировал свой ответ. Посмотрите, поможет ли это.
Теги:
collections

2 ответа

3
Лучший ответ

Есть ли ReadOnlyCollection (T), это?

ИЗМЕНИТЬ

Поскольку вы хотите...

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

у вас может быть закрытый IList<T>, к которому вы будете добавлять объекты, а ReadOnlyCollection<T> будет оберткой вокруг этого списка. Поскольку это оболочка, все изменения в базовом списке будут отражены в этой коллекции только для чтения.

  • 0
    Я хотел бы иметь возможность добавить в коллекцию / список внутри или в частном порядке. ReadOnlyCollection, по-видимому, позволяет вам создавать только конечные элементы.
  • 0
    +1 - я думал о сохранении ссылки на список, использованный для создания коллекции ReadOnlyCollection. Я рад, что вы уже подтвердили это. В этом случае у меня есть вложенные коллекции, которые все равно делают его немного неловким, но все же жизнеспособным. Я собираюсь использовать базовый тип коллекции с только защищенными методами добавления и удаления, поскольку это будет лучшим решением моей текущей проблемы.
Показать ещё 1 комментарий
0

Интерфейс Expose:

IEnumerable<T>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню