예제 #1
0
        /// <summary>
        /// Is the specified object equivalent to this instance? (All fields identical)
        /// </summary>
        /// <param name="obj">The object to compare.</param>
        /// <returns><see langword="true"/>, if the object is a <see cref="PersonName"/> and ALL fields are identical; otherwise, <see langword="false"/></returns>
        public override bool Equals(object obj)
        {
            if (!(obj is PersonName pn))
            {
                return(false);
            }

            if (First.HasChanges(pn.First))
            {
                return(false);
            }
            if (Last.HasChanges(pn.Last))
            {
                return(false);
            }
            if (Middle.HasChanges(pn.Middle))
            {
                return(false);
            }
            if (Prefix.HasChanges(pn.Prefix))
            {
                return(false);
            }
            if (Suffix.HasChanges(pn.Suffix))
            {
                return(false);
            }
            if (Nickname.HasChanges(pn.Nickname))
            {
                return(false);
            }
            return(true);
        }