diff --git a/Airbus/Airbus/FormMapWithSetAirplane.cs b/Airbus/Airbus/FormMapWithSetAirplane.cs index 29d1f23..4620bc1 100644 --- a/Airbus/Airbus/FormMapWithSetAirplane.cs +++ b/Airbus/Airbus/FormMapWithSetAirplane.cs @@ -69,7 +69,7 @@ namespace Airbus if (form.ShowDialog() == DialogResult.OK) { DrawningObjectAirplane airplane = new(form.SelectedAirplane); - if (_mapAirplanesCollectionGeneric + airplane) + if (_mapAirplanesCollectionGeneric + airplane > -1) { MessageBox.Show("Объект добавлен"); pictureBox.Image = _mapAirplanesCollectionGeneric.ShowSet(); @@ -97,7 +97,7 @@ namespace Airbus return; } int pos = Convert.ToInt32(maskedTextBoxPosition.Text); - if (_mapAirplanesCollectionGeneric - pos) + if (_mapAirplanesCollectionGeneric - pos != null ) { MessageBox.Show("Объект удален"); pictureBox.Image = _mapAirplanesCollectionGeneric.ShowSet(); diff --git a/Airbus/Airbus/MapWithSetAirplaneGeneric.cs b/Airbus/Airbus/MapWithSetAirplaneGeneric.cs index 83fcfdf..a3e0d08 100644 --- a/Airbus/Airbus/MapWithSetAirplaneGeneric.cs +++ b/Airbus/Airbus/MapWithSetAirplaneGeneric.cs @@ -55,7 +55,7 @@ namespace Airbus /// /// /// - public static bool operator +(MapWithSetAirplaneGeneric map, T airplane) + public static int operator +(MapWithSetAirplaneGeneric map, T airplane) { return map._setAirplane.Insert(airplane); } @@ -65,7 +65,7 @@ namespace Airbus /// /// /// - public static bool operator -(MapWithSetAirplaneGeneric map, int + public static T operator -(MapWithSetAirplaneGeneric map, int position) { return map._setAirplane.Remove(position); diff --git a/Airbus/Airbus/SetAirplaneGeneric.cs b/Airbus/Airbus/SetAirplaneGeneric.cs index 242bece..aac55f0 100644 --- a/Airbus/Airbus/SetAirplaneGeneric.cs +++ b/Airbus/Airbus/SetAirplaneGeneric.cs @@ -30,14 +30,14 @@ namespace Airbus return false; } - public bool Insert(T airplane) + public int Insert(T airplane) { return Insert(airplane, 0); } - public bool Insert(T airplane, int position) + public int Insert(T airplane, int position) { - if (position < 0 || position > _places.Length) return false; + if (position < 0 || position > _places.Length) return 0; if (_places[position] != null && CanInsert(position)) { for (int i = _places.Length - 1; i > position; --i) @@ -50,17 +50,20 @@ namespace Airbus } } _places[position] = airplane; - return true; + return 1; } /// /// Удаление объекта из набора с конкретной позиции /// /// /// - public bool Remove(int position) + public T Remove(int position) { + if (0 > position && position >= Count) + return null; + T delobj = _places[position]; _places[position] = null; - return true; + return delobj; } /// /// Получение объекта из набора по позиции