Информация об изменениях

Сообщение Как правильно: публичный метод возвращает список... от 08.07.2021 17:14

Изменено 08.07.2021 17:16 Shmj

Как правильно: публичный метод возвращает список...
Вы делаете библиотеку и один из методов вашей либы возвращает список файлов, для примера. Какой тип вы вернете?

К примеру, Directory.GetFiles() возвращает string[]. Насколько это правильно? Ведь потом кто-то может модифицировать и написать files[0] = "???". Нарушается сама суть — этот список не подлежит изменению.

Емнип, сами MS в своих Guidelines рекомендовали типа ReadOnlyCollection<T> в общих случаях.

Кто серьезно относится к этому вопросу и что делаете?
Как правильно: публичный метод возвращает список...
Вы делаете библиотеку и один из методов вашей либы возвращает список файлов, для примера. Какой тип вы вернете?

Можно IEnumerable<T>, если этот список формируется динамически (yield return или прямая реализация шаблона). Но если он занимает место в памяти целиком — то смысла в IEnumerable нет.

К примеру, Directory.GetFiles() возвращает string[]. Насколько это правильно? Ведь потом кто-то может модифицировать и написать files[0] = "???". Нарушается сама суть — этот список не подлежит изменению.

Емнип, сами MS в своих Guidelines рекомендовали типа ReadOnlyCollection<T> в общих случаях.

Кто серьезно относится к этому вопросу и что делаете?