Do not expose List in object models. Use Collection , ReadOnlyCollection or KeyedCollection instead. List is meant to be ...

Do not expose List in object models. Use Collection, ReadOnlyCollection or KeyedCollection instead. List is meant to be used from implementation, not in object model API. List is optimized for performance at the cost of long term versioning. For example, if you return List to the client code, you will not ever be able to receive notifications when client code modifies the collection.