When using custom classes with read-only properties that are of type List or similar (ie, ObservableCollection), it is still possible to 'get' the variable and call an Add() method on it to alter the content.
Is there a way to stop this (without creating huge overloads of the List class) on 'external' access, or is it 'best practice' to handle lists in another way if they shouldn't be edited outside of their class?