public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (ReferenceEquals(obj, this))
            {
                return(true);
            }

            if (obj.GetType() != GetType())
            {
                return(false);
            }

            Person person = (Person)obj;

            return(Rolle.Equals(person.Rolle) &&
                   Vorname.Equals(person.Vorname) &&
                   Nachname.Equals(person.Nachname) &&
                   Adresse.Equals(person.Adresse) &&
                   Geburtsdatum.Equals(person.Geburtsdatum));
        }
        public override bool Equals(object obj)
        {
            // Anforderungen:

            /* Gleicher Typ ?
             * Eines null ?
             * Referenzvergleich
             * Wertevergleich falls Referenzvergleich fehlschlägt
             */

            if (obj is null)
            {
                throw new ArgumentNullException();
            }

            if (obj is Person p) // obj.GetType() == typeof(Person)
            {
                //Referenzvergleich
                if (obj == this)
                {
                    return(true);
                }
                else // Referenzen nicht gleich, stattdessen werte vergleichen
                {   // "Hässliche" Variante ohne GetHashcode();
                    return(Vorname.Equals(p.Vorname) &&
                           Nachname.Equals(p.Nachname) &&
                           Alter.Equals(p.Alter) &&
                           Kontostand.Equals(p.Kontostand));
                }
            }
            else
            {
                return(false);
            }
        }
示例#3
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            Person person = (Person)obj;

            if (!Vorname.Equals(person.Vorname))
            {
                return(false);
            }
            if (!Nachname.Equals(person.Nachname))
            {
                return(false);
            }
            return(Geburtstag.Equals(person.Geburtstag));
        }