How can I expose a List so that it is readonly, but can be set privately?
List
This doesn\'t work:
public List myList
Why are you using a List. Sounds like what you really want to expose is IEnumerable
public IEnumerable myList { get; private set; }
Now users of the class can read the items but not chagnge the list.