Лабораторная работа №7 2

This commit is contained in:
IlyasValiulov 2024-05-10 12:02:55 +04:00
parent 2218bac580
commit af6b779070
5 changed files with 0 additions and 34 deletions

View File

@ -37,21 +37,17 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
}
public T? Get(int position)
{
//TODO выброс ошибки если выход за границу
if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position);
return _collection[position];
}
public int Insert(T obj)
{
// TODO выброс ошибки если переполнение
if (Count == _maxCount) throw new CollectionOverflowException(Count);
_collection.Add(obj);
return Count;
}
public int Insert(T obj, int position)
{
// TODO выброс ошибки если переполнение
// TODO выброс ошибки если за границу
if (Count == _maxCount) throw new CollectionOverflowException(Count);
if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position);
_collection.Insert(position, obj);
@ -59,7 +55,6 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
}
public T Remove(int position)
{
// TODO если выброс за границу
if (position >= Count || position < 0) throw new PositionOutOfCollectionException(position);
T obj = _collection[position];
_collection.RemoveAt(position);

View File

@ -41,15 +41,12 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
}
public T Get(int position)
{
// TODO выброс ошибки если выход за границу
// TODO выброс ошибки если объект пустой
if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position);
if (_collection[position] == null) throw new ObjectNotFoundException(position);
return _collection[position];
}
public int Insert(T obj)
{
// TODO выброс ошибки если переполнение
int index = 0;
while (index < _collection.Length)
{
@ -64,8 +61,6 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
}
public int Insert(T obj, int position)
{
// TODO выброс ошибки если переполнение
// TODO выброс ошибки если выход за границу
if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position);
if (_collection[position] == null) {
_collection[position] = obj;
@ -95,8 +90,6 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
}
public T Remove(int position)
{
// TODO выброс ошибки если выход за границу
// TODO выброс ошибки если объект пустой
if (position >= _collection.Length || position < 0) throw new PositionOutOfCollectionException(position);
if (_collection[position] == null) throw new ObjectNotFoundException(position);
T obj = _collection[position];

View File

@ -1,7 +1,5 @@
using ProjectWarmlyShip.Drawnings;
using ProjectWarmlyShip.Exceptions;
using System.Text;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace ProjectWarmlyShip.CollectionGenericObjects;
@ -30,8 +28,6 @@ public class StorageCollection<T>
/// <param name="collectionType">тип коллекции</param>
public void AddCollection(string name, CollectionType collectionType)
{
// TODO проверка, что name не пустой и нет в словаре записи с таким ключом
// TODO Прописать логику для добавления
if (_storages.ContainsKey(name)) return;
if (collectionType == CollectionType.None) return;
else if (collectionType == CollectionType.Massive)
@ -45,8 +41,6 @@ public class StorageCollection<T>
/// <param name="name">Название коллекции</param>
public void DelCollection(string name)
{
// TODO Прописать логику для удаления коллекции
if (_storages.ContainsKey(name))
_storages.Remove(name);
}
@ -59,7 +53,6 @@ public class StorageCollection<T>
{
get
{
// TODO Продумать логику получения объекта
if (_storages.ContainsKey(name))
return _storages[name];
return null;
@ -97,7 +90,6 @@ public class StorageCollection<T>
foreach (KeyValuePair<string, ICollectionGenericObjects<T>> value in _storages)
{
writer.Write(Environment.NewLine);
// не сохраняем пустые коллекции
if (value.Value.Count == 0)
{
continue;

View File

@ -24,7 +24,6 @@ public partial class FormShipCollection : Form
private void buttonAddShip_Click(object sender, EventArgs e)
{
FormShipConfig form = new();
// TODO передать метод
form.Show();
form.AddEvent(SetShip);
}
@ -156,10 +155,6 @@ public partial class FormShipCollection : Form
}
private void buttonCollectionDel_Click(object sender, EventArgs e)
{
// TODO прописать логику удаления элемента из коллекции
// нужно убедиться, что есть выбранная коллекция
// спросить у пользователя через MessageBox, что он подтверждает, что хочет удалить запись
// удалить и обновить ListBox
if (listBoxCollection.SelectedIndex < 0 || listBoxCollection.SelectedItem == null)
{
MessageBox.Show("Коллекция не выбрана");

View File

@ -25,15 +25,6 @@ namespace ProjectWarmlyShip
}
private static void ConfigureServices(ServiceCollection services)
{
//services.AddSingleton<FormShipCollection>()
// .AddLogging(option =>
// {
// option.SetMinimumLevel(LogLevel.Information);
// option.AddSerilog(new LoggerConfiguration()
// .WriteTo.File("log.txt")
// .CreateLogger());
// });
string[] path = Directory.GetCurrentDirectory().Split('\\');
string pathNeed = "";
for (int i = 0; i < path.Length - 3; i++)