У меня есть список, и я хочу предоставить доступ только для чтения к коллекции, содержащей ее содержимое.Как я могу это сделать?
Что-то вроде:
public ICollection<Foo> ImmutableViewOfInventory() {
IList<Foo> inventory = new List<Foo>();
inventory.add(new Foo());
return inventory.ImmutableView();
}
Кроме того, неизменным IEnumerable
также будет хорошо.
ОБНОВЛЕНИЕ: Теперь я понимаю, что неизменный взгляд на список будет лучше.(Сохранение семантики упорядочения списка.)
Это не даст мне поведение списка, верно:
public ReadOnlyCollection<PickUp> InventoryItems()
{
return new ReadOnlyCollection<PickUp>(inventory);
}
Я смотрю в документации, но не сразу вижу ReadOnlyList<T>
.