/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (VoorletterAanschrijving != null)
         {
             hashCode = hashCode * 59 + VoorletterAanschrijving.GetHashCode();
         }
         if (Voornamen != null)
         {
             hashCode = hashCode * 59 + Voornamen.GetHashCode();
         }
         if (VoorvoegselGeslachtnaam != null)
         {
             hashCode = hashCode * 59 + VoorvoegselGeslachtnaam.GetHashCode();
         }
         if (Geslachtsnaam != null)
         {
             hashCode = hashCode * 59 + Geslachtsnaam.GetHashCode();
         }
         if (Geslachtsaanduiding != null)
         {
             hashCode = hashCode * 59 + Geslachtsaanduiding.GetHashCode();
         }
         if (Aanschrijfwijze != null)
         {
             hashCode = hashCode * 59 + Aanschrijfwijze.GetHashCode();
         }
         if (GeboorteDatum != null)
         {
             hashCode = hashCode * 59 + GeboorteDatum.GetHashCode();
         }
         if (Verblijfsadres != null)
         {
             hashCode = hashCode * 59 + Verblijfsadres.GetHashCode();
         }
         if (Adresbuitenland != null)
         {
             hashCode = hashCode * 59 + Adresbuitenland.GetHashCode();
         }
         if (Burgerservicenummer != null)
         {
             hashCode = hashCode * 59 + Burgerservicenummer.GetHashCode();
         }
         if (AanduidingNaamgebruik != null)
         {
             hashCode = hashCode * 59 + AanduidingNaamgebruik.GetHashCode();
         }
         if (AanhefAanschrijving != null)
         {
             hashCode = hashCode * 59 + AanhefAanschrijving.GetHashCode();
         }
         if (VoornamenAanschrijving != null)
         {
             hashCode = hashCode * 59 + VoornamenAanschrijving.GetHashCode();
         }
         if (GeslachtsnaamAanschrijving != null)
         {
             hashCode = hashCode * 59 + GeslachtsnaamAanschrijving.GetHashCode();
         }
         if (AdelijkeTitelOfPredikant != null)
         {
             hashCode = hashCode * 59 + AdelijkeTitelOfPredikant.GetHashCode();
         }
         if (Geboorteplaats != null)
         {
             hashCode = hashCode * 59 + Geboorteplaats.GetHashCode();
         }
         if (Geboorteland != null)
         {
             hashCode = hashCode * 59 + Geboorteland.GetHashCode();
         }
         if (Ouder != null)
         {
             hashCode = hashCode * 59 + Ouder.GetHashCode();
         }
         if (Partner != null)
         {
             hashCode = hashCode * 59 + Partner.GetHashCode();
         }
         if (Overlijden != null)
         {
             hashCode = hashCode * 59 + Overlijden.GetHashCode();
         }
         if (Telefoonnummer != null)
         {
             hashCode = hashCode * 59 + Telefoonnummer.GetHashCode();
         }
         if (Faxnummer != null)
         {
             hashCode = hashCode * 59 + Faxnummer.GetHashCode();
         }
         if (Emailadres != null)
         {
             hashCode = hashCode * 59 + Emailadres.GetHashCode();
         }
         if (Verblijfstitel != null)
         {
             hashCode = hashCode * 59 + Verblijfstitel.GetHashCode();
         }
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if IngeschrevenPersoon instances are equal
        /// </summary>
        /// <param name="other">Instance of IngeschrevenPersoon to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(IngeschrevenPersoon other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     VoorletterAanschrijving == other.VoorletterAanschrijving ||
                     VoorletterAanschrijving != null &&
                     VoorletterAanschrijving.Equals(other.VoorletterAanschrijving)
                     ) &&
                 (
                     Voornamen == other.Voornamen ||
                     Voornamen != null &&
                     Voornamen.Equals(other.Voornamen)
                 ) &&
                 (
                     VoorvoegselGeslachtnaam == other.VoorvoegselGeslachtnaam ||
                     VoorvoegselGeslachtnaam != null &&
                     VoorvoegselGeslachtnaam.Equals(other.VoorvoegselGeslachtnaam)
                 ) &&
                 (
                     Geslachtsnaam == other.Geslachtsnaam ||
                     Geslachtsnaam != null &&
                     Geslachtsnaam.Equals(other.Geslachtsnaam)
                 ) &&
                 (
                     Geslachtsaanduiding == other.Geslachtsaanduiding ||
                     Geslachtsaanduiding != null &&
                     Geslachtsaanduiding.Equals(other.Geslachtsaanduiding)
                 ) &&
                 (
                     Aanschrijfwijze == other.Aanschrijfwijze ||
                     Aanschrijfwijze != null &&
                     Aanschrijfwijze.Equals(other.Aanschrijfwijze)
                 ) &&
                 (
                     GeboorteDatum == other.GeboorteDatum ||
                     GeboorteDatum != null &&
                     GeboorteDatum.Equals(other.GeboorteDatum)
                 ) &&
                 (
                     Verblijfsadres == other.Verblijfsadres ||
                     Verblijfsadres != null &&
                     Verblijfsadres.Equals(other.Verblijfsadres)
                 ) &&
                 (
                     Adresbuitenland == other.Adresbuitenland ||
                     Adresbuitenland != null &&
                     Adresbuitenland.Equals(other.Adresbuitenland)
                 ) &&
                 (
                     Burgerservicenummer == other.Burgerservicenummer ||
                     Burgerservicenummer != null &&
                     Burgerservicenummer.Equals(other.Burgerservicenummer)
                 ) &&
                 (
                     AanduidingNaamgebruik == other.AanduidingNaamgebruik ||
                     AanduidingNaamgebruik != null &&
                     AanduidingNaamgebruik.Equals(other.AanduidingNaamgebruik)
                 ) &&
                 (
                     AanhefAanschrijving == other.AanhefAanschrijving ||
                     AanhefAanschrijving != null &&
                     AanhefAanschrijving.Equals(other.AanhefAanschrijving)
                 ) &&
                 (
                     VoornamenAanschrijving == other.VoornamenAanschrijving ||
                     VoornamenAanschrijving != null &&
                     VoornamenAanschrijving.Equals(other.VoornamenAanschrijving)
                 ) &&
                 (
                     GeslachtsnaamAanschrijving == other.GeslachtsnaamAanschrijving ||
                     GeslachtsnaamAanschrijving != null &&
                     GeslachtsnaamAanschrijving.Equals(other.GeslachtsnaamAanschrijving)
                 ) &&
                 (
                     AdelijkeTitelOfPredikant == other.AdelijkeTitelOfPredikant ||
                     AdelijkeTitelOfPredikant != null &&
                     AdelijkeTitelOfPredikant.Equals(other.AdelijkeTitelOfPredikant)
                 ) &&
                 (
                     Geboorteplaats == other.Geboorteplaats ||
                     Geboorteplaats != null &&
                     Geboorteplaats.Equals(other.Geboorteplaats)
                 ) &&
                 (
                     Geboorteland == other.Geboorteland ||
                     Geboorteland != null &&
                     Geboorteland.Equals(other.Geboorteland)
                 ) &&
                 (
                     Ouder == other.Ouder ||
                     Ouder != null &&
                     Ouder.SequenceEqual(other.Ouder)
                 ) &&
                 (
                     Partner == other.Partner ||
                     Partner != null &&
                     Partner.SequenceEqual(other.Partner)
                 ) &&
                 (
                     Overlijden == other.Overlijden ||
                     Overlijden != null &&
                     Overlijden.Equals(other.Overlijden)
                 ) &&
                 (
                     Telefoonnummer == other.Telefoonnummer ||
                     Telefoonnummer != null &&
                     Telefoonnummer.Equals(other.Telefoonnummer)
                 ) &&
                 (
                     Faxnummer == other.Faxnummer ||
                     Faxnummer != null &&
                     Faxnummer.Equals(other.Faxnummer)
                 ) &&
                 (
                     Emailadres == other.Emailadres ||
                     Emailadres != null &&
                     Emailadres.Equals(other.Emailadres)
                 ) &&
                 (
                     Verblijfstitel == other.Verblijfstitel ||
                     Verblijfstitel != null &&
                     Verblijfstitel.Equals(other.Verblijfstitel)
                 ));
        }