PIbd-14_Pruidze_I.K_Simple_.../ProjectCruiser/CollectionGenericObj/ICollectionGenObj.cs

37 lines
1.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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