using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProjectElectricLocomotive.CollectionGenericObjects; /// <summary> /// Класс-хранилище коллекций /// </summary> /// <typeparam name="T"></typeparam> public class StorageCollection<T> where T : class { /// <summary> /// Словарь (хранилище) с коллекциями /// </summary> readonly Dictionary<string, ICollectionGenericObjects<T>> _storages; /// <summary> /// Возвращение списка названий коллекций /// </summary> public List<string> Keys => _storages.Keys.ToList(); /// <summary> /// Конструктор /// </summary> public StorageCollection() { _storages = new Dictionary<string, ICollectionGenericObjects<T>>(); } /// <summary> /// Добавление коллекции в хранилище /// </summary> /// <param name="name">Название коллекции</param> /// <param name="collectionType">тип коллекции</param> public void AddCollection(string name, CollectionType collectionType) { // TODO проверка, что name не пустой и нет в словаре записи с таким ключом // TODO Прописать логику для добавления } /// <summary> /// Удаление коллекции /// </summary> /// <param name="name">Название коллекции</param> public void DelCollection(string name) { // TODO Прописать логику для удаления коллекции } /// <summary> /// Доступ к коллекции /// </summary> /// <param name="name">Название коллекции</param> /// <returns></returns> public ICollectionGenericObjects<T>? this[string name] { get { // TODO Продумать логику получения объекта return null; } } }