コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }