/
docNemo
/
clothes-graph
Обзор
Документация
Войти
/
docNemo
/
clothes-graph
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/ClothesGraph.Model/Storage/FileFormat.cs
46 строк
2 KB
docNemo
Фундамент продукта: параметрическое построение выкроек, печать, установщик
08 авг 2026, 22:17
08 авг 2026, 22:17
cd47cce
Код
Авторство
О чём код?
using System; namespace ClothesGraph.Model.Storage; /// <summary> /// Версия формата файла проекта. /// </summary> /// <remarks> /// Продукт распространяется, поэтому файлы, созданные сегодня, обязаны /// открываться будущими версиями. Версия хранится в файле с первого выпуска: /// добавить её потом, когда чужие файлы уже разошлись, невозможно. /// </remarks> public static class FileFormat { /// <summary>Версия, в которой пишутся новые файлы.</summary> public const int CurrentVersion = 1; /// <summary>Самая старая версия, которую умеет читать эта сборка.</summary> public const int MinimumSupportedVersion = 1; public const string Extension = ".cgp"; /// <summary>Имя записи с моделью внутри контейнера.</summary> public const string DocumentEntry = "document.json"; /// <summary>Папка для подложенных изображений внутри контейнера.</summary> public const string ImagesFolder = "images/"; } /// <summary>Файл создан более новой версией программы.</summary> /// <remarks> /// Частичное открытие таких файлов недопустимо: пользователь сохранил бы /// результат обратно и потерял бы всё, чего эта версия не поняла. /// </remarks> public sealed class UnsupportedFileVersionException(int fileVersion, int supportedVersion) : Exception($"Файл создан более новой версией программы (формат {fileVersion}, " + $"поддерживается до {supportedVersion}). Обновите программу") { public int FileVersion { get; } = fileVersion; public int SupportedVersion { get; } = supportedVersion; } /// <summary>Файл повреждён или не является проектом выкройки.</summary> public sealed class InvalidPatternFileException(string message, Exception? inner = null) : Exception(message, inner);