using ProjectAirplaneWithRadar.Drawnings; namespace ProjectAirplaneWithRadar.CollectionGenericObjects { /// /// Интерфейс описания действий для набора хранимых объектов /// /// Параметр: ограничение - ссылочный тип public interface ICollectionGenericObjects where T : class { /// /// Количество объектов в коллекции /// int Count { get; } /// /// Установка максимального количества элементов /// int SetMaxCount { set; } /// /// Добавление объекта в коллекцию /// /// Добавляемый объект /// true - вставка прошла удачно, false - вставка не удалась int Insert(T obj); /// /// Добавление объекта в коллекцию на конкретную позицию /// /// Добавляемый объект /// Позиция /// 1 - вставка прошла удачно, -1 - вставка не удалась int Insert(T obj, int position); /// /// Удаление объекта из коллекции с конкретной позиции /// /// Позиция /// T? Remove(int position); /// /// Получение объекта по позиции /// /// Позиция /// Объект T? Get(int position); /// /// Получение типа коллекции /// CollectionType GetCollectionType { get; } /// /// Получение объектов коллекции по одному /// /// Поэлементый вывод элементов коллекции IEnumerable GetItems(); } }