Например, пусть объявляет:
private readonly List<string> _strings = new List<string>();
public IEnumerable<string> Strings
{
get
{
return _strings;
}
}
И теперь мы можем сделать следующее:
((List<string>) obj.Strings).Add("Hacked");
Таким образом, мы действительно не скрываем List
от использования, а только скрываем его за интерфейсом. Как скрыть список в таком примере без копирования _strings
в новой коллекции, чтобы ограничить модификацию списка?