У меня есть список, и я хочу предоставить доступ только для чтения к коллекции, содержащей ее содержимое. Как я могу это сделать?
Что-то вроде:
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>
.