40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.Shared.Models;
|
|
|
|
public class PersonName : Properties.IPersonName
|
|
{
|
|
|
|
protected readonly PersonNameFirst _First; // {-_-}SingletonClass
|
|
protected readonly PersonNameMiddle _Middle; // {-_-}SingletonClass
|
|
protected readonly PersonNameLast _Last; // {-_-}SingletonClass
|
|
protected readonly PersonNameAlias _Alias; // {-_-}SingletonClass
|
|
|
|
public PersonNameFirst First => _First; // {-_-}SingletonClass
|
|
public PersonNameMiddle Middle => _Middle; // {-_-}SingletonClass
|
|
public PersonNameLast Last => _Last; // {-_-}SingletonClass
|
|
public PersonNameAlias Alias => _Alias; // {-_-}SingletonClass
|
|
|
|
[JsonConstructor]
|
|
public PersonName
|
|
(
|
|
PersonNameFirst first,
|
|
PersonNameMiddle middle,
|
|
PersonNameLast last,
|
|
PersonNameAlias alias
|
|
)
|
|
{
|
|
_First = first; // {-_-}SingletonClass
|
|
_Middle = middle; // {-_-}SingletonClass
|
|
_Last = last; // {-_-}SingletonClass
|
|
_Alias = alias; // {-_-}SingletonClass
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
|
return result;
|
|
} // ...
|
|
|
|
} |