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)); }
// // 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); }