System.Uri.TryCreate C# (CSharp) Method

TryCreate() public static method

public static TryCreate ( Uri baseUri, Uri relativeUri, Uri &result ) : bool
baseUri Uri
relativeUri Uri
result Uri
return bool
        public static bool TryCreate(Uri baseUri, Uri relativeUri, out Uri result)
        {
            result = null;

            if ((object)baseUri == null || (object)relativeUri == null)
                return false;

            if (baseUri.IsNotAbsoluteUri)
                return false;

            UriFormatException e;
            string newUriString = null;

            bool dontEscape;
            if (baseUri.Syntax.IsSimple)
            {
                dontEscape = relativeUri.UserEscaped;
                result = ResolveHelper(baseUri, relativeUri, ref newUriString, ref dontEscape, out e);
            }
            else
            {
                dontEscape = false;
                newUriString = baseUri.Syntax.InternalResolve(baseUri, relativeUri, out e);
            }

            if (e != null)
                return false;

            if ((object)result == null)
                result = CreateHelper(newUriString, dontEscape, UriKind.Absolute, ref e);

            return (object)e == null && result != null && result.IsAbsoluteUri;
        }

Same methods

Uri::TryCreate ( Uri baseUri, string relativeUri, Uri &result ) : bool
Uri::TryCreate ( string uriString, UriKind uriKind, Uri &result ) : bool

Usage Example

Example #1
0
        Uri CreateUriForCookies(string url)
        {
            if (url == null)
            {
                return(null);
            }

            Uri uri;

            if (url.Length > 2000)
            {
                url = url.Substring(0, 2000);
            }

            if (Uri.TryCreate(url, UriKind.Absolute, out uri))
            {
                if (String.IsNullOrWhiteSpace(uri.Host))
                {
                    return(null);
                }

                return(uri);
            }

            return(null);
        }
All Usage Examples Of System.Uri::TryCreate