Расширение интерфейс-коллекции

This commit is contained in:
Павел Ладягин 2024-04-14 12:18:57 +04:00
parent 336946ecfe
commit 75ec5da6bd
3 changed files with 36 additions and 2 deletions

View File

@ -47,5 +47,17 @@ namespace ProjectAirplaneWithRadar.CollectionGenericObjects
/// <param name="position">Позиция</param>
/// <returns>Объект</returns>
T? Get(int position);
/// <summary>
/// Получение типа коллекции
/// </summary>
CollectionType GetCollectionType { get; }
/// <summary>
/// Получение объектов коллекции по одному
/// </summary>
/// <returns>Поэлементый вывод элементов коллекции</returns>
IEnumerable<T?> GetItems();
}
}

View File

@ -1,4 +1,5 @@
namespace ProjectAirplaneWithRadar.CollectionGenericObjects

namespace ProjectAirplaneWithRadar.CollectionGenericObjects
{
/// <summary>
/// Параметризованный набор объектов
@ -21,6 +22,8 @@
public int SetMaxCount { set { if (value > 0) { _maxCount = value; } } }
public CollectionType GetCollectionType => CollectionType.List;
/// <summary>
/// Конструктор
/// </summary>
@ -64,5 +67,13 @@
_collection.RemoveAt(position);
return temp;
}
public IEnumerable<T?> GetItems()
{
for (int i = 0; i < _collection.Count; ++i)
{
yield return _collection[i];
}
}
}
}

View File

@ -1,4 +1,5 @@
namespace ProjectAirplaneWithRadar.CollectionGenericObjects

namespace ProjectAirplaneWithRadar.CollectionGenericObjects
{
/// <summary>
/// Параметризованный набор объектов
@ -32,6 +33,8 @@
}
}
public CollectionType GetCollectionType => CollectionType.Massive;
/// <summary>
/// Конструктор
/// </summary>
@ -110,5 +113,13 @@
_collection[position] = null;
return temp;
}
public IEnumerable<T?> GetItems()
{
for (int i = 0; i < _collection.Length; ++i)
{
yield return _collection[i];
}
}
}
}