using ProjectAirplaneWithRadar.Entities; namespace ProjectAirplaneWithRadar.Drawnings { public static class ExtentionDrawningAirplane { /// /// Разделитель для записи информации по объекту в файл /// private static readonly string _separatorForObject = ":"; /// /// Создание объекта из строки /// /// Строка с данными для создания объекта /// Объект public static DrawningAirplane? CreateDrawningAirplane(this string info) { string[] strs = info.Split(_separatorForObject); EntityAirplane? airplane = EntityAirplaneWithRadar.CreateEntityAirplaneWithRadar(strs); if (airplane != null) { return new DrawingAirplaneWithRadar(airplane); } airplane = EntityAirplane.CreateEntityAirplane(strs); if (airplane != null) { return new DrawningAirplane(airplane); } return null; } /// /// Получение данных для сохранения в файл /// /// Сохраняемый объект /// Строка с данными по объекту public static string GetDataForSave(this DrawningAirplane drawningAirplane) { string[]? array = drawningAirplane?.EntityAirplane?.GetStringRepresentation(); if (array == null) { return string.Empty; } return string.Join(_separatorForObject, array); } } }