using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public class Person : Properties.IPerson { protected readonly PersonId _Id; // {-_-}SingletonClass protected readonly PersonBirthday _Birthday; // {-_-}SingletonClass protected readonly PersonName _Name; // {{_}}JsonValueKindObject protected readonly List _Comments; // <{_}>PluralClass protected readonly List _URLs; // <{_}>PluralClass protected readonly List _Numbers; // <{_}>PluralClass protected readonly List _Emails; // <{_}>PluralClass protected readonly List _Addresses; // <<_>>JsonValueKindArray public PersonId Id => _Id; // {-_-}SingletonClass public PersonBirthday Birthday => _Birthday; // {-_-}SingletonClass public PersonName Name => _Name; // {{_}}JsonValueKindObject public List Comments => _Comments; // <{_}>PluralClass public List URLs => _URLs; // <{_}>PluralClass public List Numbers => _Numbers; // <{_}>PluralClass public List Emails => _Emails; // <{_}>PluralClass public List Addresses => _Addresses; // <<_>>JsonValueKindArray [JsonConstructor] public Person ( PersonId id, PersonBirthday birthday, PersonName name, List comments, List uRLs, List numbers, List emails, List addresses ) { _Id = id; // {-_-}SingletonClass _Birthday = birthday; // {-_-}SingletonClass _Name = name; // {{_}}JsonValueKindObject _Comments = comments; // <{_}>PluralClass _URLs = uRLs; // <{_}>PluralClass _Numbers = numbers; // <{_}>PluralClass _Emails = emails; // <{_}>PluralClass _Addresses = addresses; // <<_>>JsonValueKindArray } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } // ... }