This commit is contained in:
Алексей Тихоненков 2023-10-31 01:29:42 +04:00
parent 10edf8895b
commit 4965346ea3
3 changed files with 21 additions and 39 deletions

View File

@ -106,7 +106,7 @@ namespace AntiAircraftGun
FormAntiAirCraftGun form = new();
if (form.ShowDialog() == DialogResult.OK)
{
if ((obj + form.SelectedZenit)==1)
if (obj + form.SelectedZenit)
{
MessageBox.Show("Объект добавлен");
pictureBoxCollection.Image = obj.ShowZenits();

View File

@ -51,11 +51,11 @@ namespace AntiAircraftGun.Generics
/// <param name="collect"></param>
/// <param name="obj"></param>
/// <returns></returns>
public static int operator +(AntiAirCraftGunGenericCollection<T,U> collect, T? obj)
public static bool operator +(AntiAirCraftGunGenericCollection<T,U> collect, T? obj)
{
if (obj == null)
return -1;
return collect?._collection.Insert(obj) ?? -1;
return false;
return collect?._collection.Insert(obj) ?? false;
}
/// <summary>
/// Перегрузка оператора вычитания
@ -63,12 +63,12 @@ namespace AntiAircraftGun.Generics
/// <param name="collect"></param>
/// <param name="pos"></param>
/// <returns></returns>
public static bool operator -(AntiAirCraftGunGenericCollection<T, U> collect, int pos)
public static T? operator -(AntiAirCraftGunGenericCollection<T, U> collect, int pos)
{
T? obj = collect._collection.Get(pos);
if (obj != null)
return collect._collection.Remove(pos);
return false;
collect._collection.Remove(pos);
return obj;
}
/// <summary>

View File

@ -35,21 +35,20 @@ namespace AntiAircraftGun.Generics
/// </summary>
/// <param name="car">Добавляемый автомобиль</param>
/// <returns></returns>
public int Insert(T car)
public bool Insert(T car)
{
if (_places.Count == _maxCount)
return -1;
return false;
Insert(car, 0);
return 1;
return true;
}
public int Insert(T car, int position)
public bool Insert(T car, int position)
{
if (!(position >= 0 && position <= Count && _places.Count < _maxCount))
return -1;
return false;
_places.Insert(position, car);
return 1;
return true;
}
/// <summary>
@ -63,8 +62,8 @@ namespace AntiAircraftGun.Generics
if (position < 0 || position >= Count)
return false;
// Удаление объекта из массива, присвоив элементу массива значение null
_places[position] = null;
_places.RemoveAt(position);
return true;
}
/// <summary>
@ -76,35 +75,18 @@ namespace AntiAircraftGun.Generics
{
get
{
// TODO: Проверить позицию
if (position < 0 || position >= Count)
{
MessageBox.Show("Индекс выходит за пределы диапазона");
if (!(position >= 0 && position < Count))
return null;
}
return _places[position];
}
set
{
// TODO: Проверить позицию
if (position < 0 || position >= Count)
{
MessageBox.Show("Индекс выходит за пределы диапазона");
if (!(position >= 0 && position < Count && _places.Count < _maxCount))
return;
}
// TODO: Проверить наличие доступных слотов в списке
if (_places.Count < _maxCount)
{
// Вставить на указанную позицию
_places.Insert(position, value);
}
else
{
MessageBox.Show("Список уже заполнен");
return;
}
}
}
/// <summary>
/// Проход по списку
/// </summary>