лабораторная работа№4(1)

This commit is contained in:
nezui1 2024-04-09 09:10:22 +03:00
parent d3ebbc092d
commit 6dcc2b89b7
4 changed files with 33 additions and 3 deletions

View File

@ -6,6 +6,9 @@ using System.Threading.Tasks;
namespace ProjectAirFighter.CollectionGenericObjects; namespace ProjectAirFighter.CollectionGenericObjects;
/// <summary>
/// Перечисление типов коллекции
/// </summary>
public enum CollectionType public enum CollectionType
{ {
/// <summary> /// <summary>

View File

@ -17,11 +17,26 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
/// <summary> /// <summary>
/// Массив объектов, которые хроним /// Массив объектов, которые хроним
/// </summary> /// </summary>
private T[] _collection; private T?[] _collection;
public int Count => _collection.Length; public int Count => _collection.Length;
public int SetMaxCount { set { if (value > 0) { _collection = new T?[value]; } } } public int SetMaxCount
{
set
{
if (value > 0)
{
if (Count > 0)
{
Array.Resize(ref _collection, value);
}
else {
_collection = new T?[value];
}
}
}
}
/// <summary> /// <summary>
/// Конструктор /// Конструктор

View File

@ -81,4 +81,16 @@ public class StorageCollection<T>
return _storages[name]; return _storages[name];
} }
} }
public ICollectionGenericObjects<T>? this[int index]
{
get
{
//логика получения объекта
if (index > Keys.Count || index < 0)
return null;
return _storages[Keys[index]];
}
}
} }

View File

@ -215,7 +215,7 @@ public partial class FormWarPlaneCollection : Form
MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Не все данные заполнены", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
} }
if (MessageBox.Show("Удалить объект?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) if (MessageBox.Show("Удалить коллекцию?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{ {
return; return;
} }