示例#1
0
    public override int CompareTo(IceInternal.Endpoint obj)
    {
        if (ReferenceEquals(this, obj))
        {
            return(0);
        }

        if (!(obj is Endpoint))
        {
            return(Type() < obj.Type() ? -1 : 1);
        }

        return(_endpoint.CompareTo(((Endpoint)obj)._endpoint));
    }
示例#2
0
        //
        // Compare endpoints for sorting purposes
        //
        public override int CompareTo(Endpoint obj)
        {
            if (!(obj is OpaqueEndpointI))
            {
                return(Type() < obj.Type() ? -1 : 1);
            }

            OpaqueEndpointI p = (OpaqueEndpointI)obj;

            if (this == p)
            {
                return(0);
            }

            if (_type < p._type)
            {
                return(-1);
            }
            else if (p._type < _type)
            {
                return(1);
            }

            if (_rawEncoding.major < p._rawEncoding.major)
            {
                return(-1);
            }
            else if (p._rawEncoding.major < _rawEncoding.major)
            {
                return(1);
            }

            if (_rawEncoding.minor < p._rawEncoding.minor)
            {
                return(-1);
            }
            else if (p._rawEncoding.minor < _rawEncoding.minor)
            {
                return(1);
            }

            if (_rawBytes.Length < p._rawBytes.Length)
            {
                return(-1);
            }
            else if (p._rawBytes.Length < _rawBytes.Length)
            {
                return(1);
            }
            for (int i = 0; i < _rawBytes.Length; i++)
            {
                if (_rawBytes[i] < p._rawBytes[i])
                {
                    return(-1);
                }
                else if (p._rawBytes[i] < _rawBytes[i])
                {
                    return(1);
                }
            }

            return(0);
        }