// CopyConstructor approach public Person2(Person2 other) { Names = other.Names; Address = new Address2(other.Address); }
// CopyConstructor approach public Address2(Address2 other) { StreetName = other.StreetName; HouseNumber = other.HouseNumber; }
public Person2(string[] names, Address2 address) { Names = names ?? throw new ArgumentNullException(paramName: nameof(names)); Address = address ?? throw new ArgumentNullException(paramName: nameof(address)); }