public int CompareTo(object obj) { if (obj == null) { throw new ArgumentNullException("obj"); } ReferenceName name = obj as ReferenceName; if (name == null) { throw new ArgumentOutOfRangeException("obj", obj, "Can only be compared to ReferenceName"); } int ret = SubSystem.CompareTo(name.SubSystem); return(ret != 0 ? ret : LocalName.CompareTo(name.SubSystem)); }
public int CompareTo(object obj) { if (!(obj is SmevXmlComparator)) { throw new ArgumentException(); } var xmlComparator = (SmevXmlComparator)obj; if (string.IsNullOrEmpty(NamespaceURI) && !string.IsNullOrEmpty(xmlComparator.NamespaceURI)) { return(1); } if (!string.IsNullOrEmpty(NamespaceURI) && string.IsNullOrEmpty(xmlComparator.NamespaceURI)) { return(-1); } int comparisonResult = NamespaceURI.CompareTo(xmlComparator.NamespaceURI); if (comparisonResult == 0) { if (LocalName == "Id") { return(-1); } if (xmlComparator.LocalName == "Id") { return(1); } comparisonResult = LocalName.CompareTo(xmlComparator.LocalName); } return(comparisonResult); }