54 lines
2.0 KiB
C#
54 lines
2.0 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace ProjectAirFighter.CollectionGenericObject;
|
||
|
||
/// <summary>
|
||
/// Интерфейс описания действий для набора хранимых объектов
|
||
/// </summary>
|
||
/// <typeparam name="T"></typeparam>
|
||
public interface ICollectionGenericObjects<T>
|
||
where T : class
|
||
{
|
||
/// <summary>
|
||
/// Колличество объектов в коллекции
|
||
/// </summary>
|
||
int Count { get; }
|
||
|
||
/// <summary>
|
||
///Установка максимального количества элементов
|
||
/// </summary>
|
||
int SetMaxCount { set; }
|
||
|
||
/// <summary>
|
||
/// Добавление объекта в коллекцию
|
||
/// </summary>
|
||
/// <param name="obj">Добавляемы объект</param>
|
||
/// <returns>true - вставка прошла успешно, false - вставка не удалась</returns>
|
||
int Insert(T obj);
|
||
|
||
/// <summary>
|
||
/// Добавление объекта в коллекцию на конкретную позицию
|
||
/// </summary>
|
||
/// <param name="obj">Добавляемы объект</param>
|
||
/// <param name="position">Позиция</param>
|
||
/// <returns>true - вставка прошла успешно, false - вставка не удалась</returns>
|
||
int Insert(T obj, int position);
|
||
|
||
/// <summary>
|
||
/// Удаление объекта из коллекции с конкретной позиции
|
||
/// </summary>
|
||
/// <param name="position">Позиция</param>
|
||
/// <returns>true - удаление прошло успешно, false - удаление не удалось</returns>
|
||
T? Remove(int position);
|
||
/// <summary>
|
||
/// Получение объекта по позции
|
||
/// </summary>
|
||
/// <param name="position"></param>
|
||
/// <returns></returns>
|
||
T? Get(int position);
|
||
}
|