示例#1
0
            private int Compare(ValidatedPartUri?otherPartUri)
            {
                //If otherPartUri is null then we return 1
                if (otherPartUri == null)
                {
                    return(1);
                }

                //Compare the normalized uri strings for the two part uris.
                return(string.CompareOrdinal(this.NormalizedPartUriString, otherPartUri.NormalizedPartUriString));
            }
示例#2
0
        internal static bool TryValidatePartUri(Uri partUri, [NotNullWhen(true)] out ValidatedPartUri?validatedPartUri)
        {
            var validatedUri = partUri as ValidatedPartUri;

            if (validatedUri != null)
            {
                validatedPartUri = validatedUri;
                return(true);
            }

            string    partUriString;
            Exception?exception = GetExceptionIfPartUriInvalid(partUri, out partUriString);

            if (exception != null)
            {
                validatedPartUri = null;
                return(false);
            }
            else
            {
                validatedPartUri = new ValidatedPartUri(partUriString);
                return(true);
            }
        }
示例#3
0
 bool IEquatable <ValidatedPartUri> .Equals(ValidatedPartUri?otherPartUri)
 {
     return(Compare(otherPartUri) == 0);
 }
示例#4
0
            //------------------------------------------------------
            //
            //  Internal Methods
            //
            //------------------------------------------------------

            #region IComparable Methods

            int IComparable <ValidatedPartUri> .CompareTo(ValidatedPartUri?otherPartUri)
            {
                return(Compare(otherPartUri));
            }