6public sealed class NdsHeaderEdit
27 public string Title {
get;
set; }
54 internal bool HasChanges =>
55 Title != _source.Title ||
67 internal void Apply(Span<byte> header)
69 WriteAscii(header.Slice(0x00, 12),
Title, 0, 12, nameof(
Title));
86 private static void WriteAscii(
87 Span<byte> destination,
93 ArgumentNullException.ThrowIfNull(value);
94 if (value.Length < minimumLength || value.Length > maximumLength ||
95 value.Any(
static character => character is <
' ' or >
'~'))
97 throw new InvalidDataException(
98 $
"{propertyName} must contain {minimumLength} through {maximumLength} printable ASCII characters.");
102 Encoding.ASCII.GetBytes(value, destination);