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

37 lines
1.5 KiB
C#
Raw Normal View History

2024-06-16 21:39:45 +04:00
using ProjectCruiser.DrawningSamples;
namespace ProjectCruiser.CollectionGenericObj;
public interface ICollectionGenObj<T> where T : class
{
// Кол-во объектов в коллекции
int Count { get; }
// Установка max кол-ва элементов
2024-06-15 13:28:42 +04:00
int MaxCount { set; get; }
/// Добавление объекта в коллекцию
/// <param name="obj">Добавляемый объект</param>
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
2024-06-16 21:39:45 +04:00
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);
2024-06-15 13:28:42 +04:00
// Получение типа коллекции
CollectionType GetCollectionType { get; }
// Получение объектов коллекции по одному
IEnumerable<T?> GetItems();
2024-06-16 21:39:45 +04:00
// Сортировка коллекции
/// <param name="comparer">Сравнитель объектов</param>
void CollectionSort(IComparer<T?> comparer);
}