private int ComputeHashCode()
 {
     return(IsKeyValueEncoded.GetHashCode() ^
            m_keyEncodingMethod.GetHashCode() ^
            m_valueEncodingMethod.GetHashCode() ^
            m_keyValueEncodingMethod.GetHashCode());
 }
        /// <summary>
        /// Compares the current object with another object of the same type.
        /// </summary>
        /// <returns>
        /// A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the <paramref name="other"/> parameter.Zero This object is equal to <paramref name="other"/>. Greater than zero This object is greater than <paramref name="other"/>.
        /// </returns>
        /// <param name="other">An object to compare with this object.</param>
        public int CompareTo(EncodingDefinition other)
        {
            int cmp;

            cmp = m_hashCode.CompareTo(other.m_hashCode); if (cmp != 0)
            {
                return(cmp);
            }
            cmp = IsKeyValueEncoded.CompareTo(other.IsKeyValueEncoded); if (cmp != 0)
            {
                return(cmp);
            }
            cmp = m_keyEncodingMethod.CompareTo(other.m_keyEncodingMethod); if (cmp != 0)
            {
                return(cmp);
            }
            cmp = m_valueEncodingMethod.CompareTo(other.m_valueEncodingMethod); if (cmp != 0)
            {
                return(cmp);
            }
            return(m_keyValueEncodingMethod.CompareTo(other.m_keyValueEncodingMethod));
        }