
Namespace Collections

    ''' <summary>
    ''' Defines methods to support comparison of objects for structural equality.
    ''' </summary>
    ''' <remarks></remarks>
    Public Interface IStructuralEquatable
        ''' <summary>
        ''' Determines whether an object is structurally equal to the current instance.
        ''' </summary>
        ''' <param name="other">The object to compare with the current instance.</param>
        ''' <param name="comparer">An object that determines whether the current instance and <paramref name="other" /> are equal.</param>
        ''' <returns>True if the object is structurally equal to the current instance; otherwise, false.</returns>
        ''' <remarks></remarks>
        Function Equals(ByVal other As Object, ByVal comparer As IEqualityComparer) As Boolean

        ''' <summary>
        ''' Returns a hash code for the current instance.
        ''' </summary>
        ''' <param name="comparer">An object that computes the hash code of the current object.</param>
        ''' <returns>The hash code for the current instance.</returns>
        ''' <remarks></remarks>
        Function GetHashCode(ByVal comparer As IEqualityComparer)
    End Interface

End Namespace