F>Можно сделать коллекцию приватной и работать с ней внутри, либо через специальные открытые методы (а ля tovar.AddAnalog()), а наружу выставлять ее через свойство с типом IReadOnlyCollection.
В "моем" языке программирования нету такого интерфейса.
Есть только "голые" списки, массивы. И я могу их "обернуть" в любой свой класс.
Что делать в таком случае?