/
docNemo
/
clothes-graph
Обзор
Документация
Войти
/
docNemo
/
clothes-graph
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/ClothesGraph.Model/Measurements/Measurement.cs
47 строк
2 KB
docNemo
Фундамент продукта: параметрическое построение выкроек, печать, установщик
08 авг 2026, 22:17
08 авг 2026, 22:17
cd47cce
Код
Авторство
О чём код?
using System; using ClothesGraph.Geometry; namespace ClothesGraph.Model.Measurements; /// <summary> /// Мерка фигуры — именованная величина, на которую ссылаются формулы построения. /// </summary> public sealed class Measurement { private string _displayName; public Measurement(MeasurementId id, string displayName, Length value, string? description = null) { if (id.IsEmpty) throw new ArgumentException("Идентификатор мерки не задан", nameof(id)); Id = id; _displayName = NormalizeName(displayName); Value = value; Description = description; } public MeasurementId Id { get; } /// <summary>Имя, которое видит пользователь. Может меняться без последствий для формул.</summary> public string DisplayName { get => _displayName; internal set => _displayName = NormalizeName(value); } /// <summary>Значение мерки в базовом размере.</summary> public Length Value { get; internal set; } public string? Description { get; set; } internal static string NormalizeName(string name) { if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Имя мерки не может быть пустым", nameof(name)); return name.Trim(); } public override string ToString() => $"{DisplayName} = {Value}"; }