System.Uri.Uri C# (CSharp) Method

Uri() public method

public Uri ( Uri baseUri, Uri relativeUri ) : System.Runtime.InteropServices
baseUri Uri
relativeUri Uri
return System.Runtime.InteropServices
        public Uri(Uri baseUri, Uri relativeUri)
        {
            if ((object)baseUri == null)
                throw new ArgumentNullException(nameof(baseUri));

            if (!baseUri.IsAbsoluteUri)
                throw new ArgumentOutOfRangeException(nameof(baseUri));

            CreateThisFromUri(relativeUri);

            string newUriString = null;
            UriFormatException e;
            bool dontEscape;

            if (baseUri.Syntax.IsSimple)
            {
                dontEscape = InFact(Flags.UserEscaped);
                relativeUri = ResolveHelper(baseUri, this, ref newUriString, ref dontEscape, out e);

                if (e != null)
                    throw e;

                if (relativeUri != null)
                {
                    if ((object)relativeUri != (object)this)
                        CreateThisFromUri(relativeUri);

                    return;
                }
            }
            else
            {
                dontEscape = false;
                newUriString = baseUri.Syntax.InternalResolve(baseUri, this, out e);
                if (e != null)
                    throw e;
            }

            _flags = Flags.Zero;
            _info = null;
            _syntax = null;
            CreateThis(newUriString, dontEscape, UriKind.Absolute);
        }

Same methods

Uri::Uri ( Flags flags, UriParser uriParser, string uri ) : System.Globalization
Uri::Uri ( SerializationInfo serializationInfo, StreamingContext streamingContext ) : System.Runtime.InteropServices
Uri::Uri ( Uri baseUri, string relativeUri ) : System.Runtime.InteropServices
Uri::Uri ( Uri baseUri, string relativeUri, bool dontEscape ) : System.Runtime.InteropServices
Uri::Uri ( string uriString ) : System.Runtime.InteropServices
Uri::Uri ( string uriString, UriKind uriKind ) : System.Runtime.InteropServices
Uri::Uri ( string uriString, bool dontEscape ) : System.Runtime.InteropServices