Example #1
0
        /// <summary>
        ///     Determines whether the specified <see cref="System.Object" /> is equal to this instance.
        /// </summary>
        /// <param name="obj">
        ///     The <see cref="System.Object" /> to compare with this instance.
        /// </param>
        /// <returns>
        ///     <c>true</c> if the specified <see cref="System.Object" /> is equal to this instance; otherwise, <c>false</c>.
        /// </returns>
        public override bool Equals(object obj)
        {
            var periodList = obj as IPeriodList;

            if (periodList != null)
            {
                IPeriodList r = periodList;

                IEnumerator <IPeriod> p1Enum = GetEnumerator( );
                IEnumerator <IPeriod> p2Enum = r.GetEnumerator( );

                while (p1Enum.MoveNext( ))
                {
                    if (!p2Enum.MoveNext( ))
                    {
                        return(false);
                    }

                    if (!Equals(p1Enum.Current, p2Enum.Current))
                    {
                        return(false);
                    }
                }

                if (p2Enum.MoveNext( ))
                {
                    return(false);
                }

                return(true);
            }
// ReSharper disable BaseObjectEqualsIsObjectEquals
            return(base.Equals(obj));
// ReSharper restore BaseObjectEqualsIsObjectEquals
        }
Example #2
0
        public override bool Equals(object obj)
        {
            if (obj is IPeriodList)
            {
                IPeriodList r = (IPeriodList)obj;

                IEnumerator <IPeriod> p1Enum = GetEnumerator();
                IEnumerator <IPeriod> p2Enum = r.GetEnumerator();

                while (p1Enum.MoveNext())
                {
                    if (!p2Enum.MoveNext())
                    {
                        return(false);
                    }

                    if (!object.Equals(p1Enum.Current, p2Enum.Current))
                    {
                        return(false);
                    }
                }

                if (p2Enum.MoveNext())
                {
                    return(false);
                }

                return(true);
            }
            return(base.Equals(obj));
        }