public int Compare (object o1, object o2)
{
- BaseIterator nav1 = o1 as BaseIterator;
- BaseIterator nav2 = o2 as BaseIterator;
+ XPathNodeIterator nav1 = o1 as XPathNodeIterator;
+ XPathNodeIterator nav2 = o2 as XPathNodeIterator;
if (nav1 == null)
return -1;
if (nav2 == null)
}
}
+#if NET_2_0
+ internal class XPathNavigatorComparer : IComparer, IEqualityComparer
+#else
internal class XPathNavigatorComparer : IComparer
+#endif
{
public static XPathNavigatorComparer Instance = new XPathNavigatorComparer ();
private XPathNavigatorComparer ()
return -1;
}
}
+
+#if NET_2_0
+ bool IEqualityComparer.Equals (object o1, object o2)
+ {
+ XPathNavigator nav1 = o1 as XPathNavigator;
+ XPathNavigator nav2 = o2 as XPathNavigator;
+ return nav1 != null && nav2 != null && nav1.IsSamePosition (nav2);
+ }
+
+ int IEqualityComparer.GetHashCode (object obj)
+ {
+ return obj.GetHashCode ();
+ }
+#endif
}
}