Ejemplo n.º 1
0
        /// <summary>
        /// Compares the current <see cref="Track"/> object to the specified object for equivalence.
        /// </summary>
        /// <param name="obj">The <see cref="Track"/> object to test for equivalence with the current object.</param>
        /// <returns>
        /// <c>true</c> if the two <see cref="Track"/> objects are equal; otherwise, <c>false</c>.
        /// </returns>
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            Track that = obj as Track;

            if (that == null)
            {
                return(false);
            }

            return(String.Equals(name, that.name) &&
                   String.Equals(comment, that.comment) &&
                   String.Equals(description, that.description) &&
                   String.Equals(sourceOfData, that.sourceOfData) &&
                   Comparer.Equals(trackNumber, that.trackNumber) &&
                   String.Equals(trackTypeString, that.trackTypeString) &&
                   String.Equals(trackType, that.trackType) &&
                   ObjectHelper.AreCollectionsEqual(links, that.links) &&
                   ObjectHelper.AreCollectionsEqual(segments, that.segments));
        }