using ProjectCruiser.DrawningSamples; namespace ProjectCruiser.CollectionGenericObj; public interface ICollectionGenObj where T : class { // Кол-во объектов в коллекции int Count { get; } // Установка max кол-ва элементов int MaxCount { set; get; } /// Добавление объекта в коллекцию /// Добавляемый объект /// true - вставка прошла удачно, false - вставка не удалась int Insert(T obj, IEqualityComparer? cmpr = null); int Insert(T obj, int position, IEqualityComparer? cmpr = null); /// Удаление объекта из коллекции с конкретной позиции /// Позиция /// true - удаление прошло удачно, false - удаление не удалось T? Remove(int position); // Получение объекта по позиции T? GetItem(int position); // Получение типа коллекции CollectionType GetCollectionType { get; } // Получение объектов коллекции по одному IEnumerable GetItems(); // Сортировка коллекции /// Сравнитель объектов void CollectionSort(IComparer comparer); }