public int Compare(object obj1, object obj2)
{
int index1 = (int)obj1;
int index2 = (int)obj2;
XmlAttributeNode attribute1 = _attributeNodes[index1];
XmlAttributeNode attribute2 = _attributeNodes[index2];
int i = CompareQNameType(attribute1.QNameType, attribute2.QNameType);
if (i == 0)
{
QNameType qnameType = attribute1.QNameType;
if (qnameType == QNameType.Normal)
{
i = attribute1.LocalName.CompareTo(attribute2.LocalName);
if (i == 0)
{
i = attribute1.Namespace.Uri.CompareTo(attribute2.Namespace.Uri);
}
}
else
{
DiagnosticUtility.DebugAssert(qnameType == QNameType.Xmlns, "");
i = attribute1.Namespace.Prefix.CompareTo(attribute2.Namespace.Prefix);
}
}
return i;
}