Рассмотрим следующий код:
private string _text = null;
private string[] _values = null;
public string Text { get { return _text; } }
public string[] Values { get { return _values; } }
Что это дает, чего не было бы при наличии только открытых членов?