using ProjectMonorail.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProjectMonorail.Drawings; /// /// Расширение для класса EntityCar /// public static class ExtentionDrawingTrain { /// /// Разделитель для записи информации по объекту в файл /// private static readonly string _separatorForObject = ":"; /// /// Создание объекта из строки /// /// Строка с данными для создания объекта /// Объект public static DrawingTrain? CreateDrawingTrain(this string info) { string[] strs = info.Split(_separatorForObject); EntityTrain? train = EntityMonorail.CreateEntityMonorail(strs); if (train != null) { return new DrawingMonorail(train); } train = EntityTrain.CreateEntityTrain(strs); if (train != null) { return new DrawingTrain(train); } return null; } /// /// Получение данных для сохранения в файл /// /// Сохраняемый объект /// Строка с данными по объекту public static string GetDataForSave(this DrawingTrain drawingTrain) { string[]? array = drawingTrain?.EntityTrain?.GetStringRepresentation(); if (array == null) { return string.Empty; } return string.Join(_separatorForObject, array); } }