Example #1
0
            public bool Equals(WindowList other)
            {
                if (other == null)
                {
                    return(false);
                }

                //Здесь сравнение по ссылкам необязательно.
                //Если вы уверены, что многие проверки на идентичность будут отсекаться на проверке по ссылке - //можно имплементировать.
                if (object.ReferenceEquals(this, other))
                {
                    return(true);
                }

                //Если по логике проверки, экземпляры родительского класса и класса потомка могут считаться равными,
                //то проверять на идентичность необязательно и можно переходить сразу к сравниванию полей.
                if (this.GetType() != other.GetType())
                {
                    return(false);
                }

                if (this.ID == other.ID &&
                    this.Heigt == other.Heigt &&
                    this.Left == other.Left &&
                    this.Title == other.Title &&
                    this.Top == other.Top &&
                    this.Width == other.Width)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }