Я хотел бы предоставить свойство модели представления, которая содержит список объектов (из базы данных).
Мне нужно, чтобы эта коллекция была доступна только для чтения. То есть я хочу предотвратить добавление / удаление и т. Д. Но разрешить работать foreach и индексаторам. Я намерен объявить частное поле, содержащее редактируемую коллекцию, и указать на него общедоступное свойство, доступное только для чтения. Следующее
public ObservableCollection<foo> CollectionOfFoo {
get {
return _CollectionOfFoo;
}
}
Однако этот синтаксис просто предотвращает изменение ссылки на коллекцию. Это не препятствует добавлению / удалению и т. Д.
Как правильно это сделать?