<?xml version="1.0" encoding="utf-8"?>
<Type Name="Uri" FullName="System.Uri" FullNameSP="System_Uri" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public serializable Uri extends System.MarshalByRefObject" />
  <TypeSignature Language="C#" Value="public class Uri : System.Runtime.Serialization.ISerializable" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi serializable beforefieldinit Uri extends System.Object implements class System.Runtime.Serialization.ISerializable" />
  <MemberOfLibrary>Networking</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>1.0.x.x</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Runtime.Serialization.ISerializable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes>
    <Attribute>
      <AttributeName>System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>A URI is a compact representation of a resource available to your application on the intranet or Internet. The <see cref="T:System.Uri" /> class defines the properties and methods for handling URIs, including parsing, comparing, and combining. The <see cref="T:System.Uri" /> class properties are read-only; to create a modifiable object, use the <see cref="T:System.UriBuilder" /> class.</para>
      <para>Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. The <see cref="M:System.Uri.MakeRelative(System.Uri)" /> method is provided to convert absolute URIs to relative URIs when necessary.</para>
      <para>The <see cref="T:System.Uri" /> constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.</para>
      <para>The <see cref="T:System.Uri" /> properties return a canonical data representation in escaped encoding, with all characters with Unicode values greater than 127 replaced with their hexadecimal equivalents. To put the URI in canonical form, the <see cref="T:System.Uri" /> constructor performs the following steps: </para>
      <list type="bullet">
        <item>
          <para>Converts the URI scheme to lowercase.</para>
        </item>
        <item>
          <para>Converts the host name to lowercase.</para>
        </item>
        <item>
          <para>If the host name is an IPv6 address, the canonical IPv6 address is used. ScopeId and other optional IPv6 data are removed.</para>
        </item>
        <item>
          <para>Removes default and empty port numbers.</para>
        </item>
        <item>
          <para>Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, //, including escaped representations. Note that there are some schemes for which escaped representations are not compacted. </para>
        </item>
        <item>
          <para>For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.</para>
        </item>
        <item>
          <para>By default, any reserved characters in the URI are escaped in accordance with RFC 2396. This behavior changes if International Resource Identifiers or International Domain Name parsing is enabled in which case reserved characters in the URI are escaped in accordance with RFC 3986 and RFC 3987.</para>
        </item>
      </list>
      <para>As part of canonicalization in the constructor for some schemes, escaped representations are compacted. The schemes for which URI will compact escaped sequences include the following: file, http, https, net.pipe, and net.tcp. For all other schemes, escaped sequences are not compacted. For example: if you percent encode the two dots ".." as "%2E%2E" then the URI constructor will compact this sequence for some schemes. For example, the following code sample shows a URI constructor for the http scheme. </para>
      <code>
    Uri uri = new Uri("http://myUrl/%2E%2E/%2E%2E");
    Console.WriteLine(uri.AbsoluteUri);
    Console.WriteLine(uri.PathAndQuery);
</code>
      <para>When this code is executed, it returns the following output with the escaped sequence compacted.</para>
      <code>
http://myUrl/
/
</code>
      <para>The following code example shows a URI constructor for the ftp scheme:</para>
      <code>
    Uri uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E");
    Console.WriteLine(uri.AbsoluteUri);
    Console.WriteLine(uri.PathAndQuery);
</code>
      <para>When this code is executed, it returns the following output with the escaped sequence not compacted.</para>
      <code>
ftp://myUrl/%2E%2E/%2E%2E
/%2E%2E/%2E%2E
</code>
      <para>You can transform the contents of the <see cref="T:System.Uri" /> class from an escape encoded URI reference to a readable URI reference by using the <see cref="M:System.Uri.ToString" /> method. Note that some reserved characters might still be escaped in the output of the <see cref="M:System.Uri.ToString" /> method. This is to support unambiguous reconstruction of a URI from the value returned by <see cref="M:System.Uri.ToString" />.</para>
      <para>Some URIs include a fragment identifier or a query or both. A fragment identifier is any text that follows a number sign (#), not including the number sign; the fragment text is stored in the <see cref="P:System.Uri.Fragment" /> property. Query information is any text that follows a question mark (?) in the URI; the query text is stored in the <see cref="P:System.Uri.Query" /> property.</para>
      <para>In the .NET Framework version 1.1, if the string specified to a constructor contains an unknown scheme and "c:\", the Uri class inserts "//" after the colon. For example, the URI xyz:c:\abc is converted to xyz://c:/abc. In the .NET Framework version 2.0, this behavior has been removed, and the example string is converted to xyz:c:/abc.</para>
      <block subset="none" type="note">
        <para>The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. Remember to enclose the IPv6 address in square brackets, as in http://[::1].</para>
      </block>
      <format type="text/html">
        <h2>International Resource Identifier Support</h2>
      </format>
      <para>Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters: </para>
      <list type="bullet">
        <item>
          <para>Upper and lower case ASCII letters from the English alphabet.</para>
        </item>
        <item>
          <para>Digits from 0 to 9.</para>
        </item>
        <item>
          <para>A small number of other ASCII symbols.</para>
        </item>
      </list>
      <para>The specifications for URIs are documented in RFC 2396, RFC 2732, RFC 3986, and RFC 3987 published by the Internet Engineering Task Force (IETF).</para>
      <para>With the growth of the Internet, there is a growing need to identify resources using languages other than English. Identifiers which facilitate this need and allow non-ASCII characters (characters in the Unicode/ISO 10646 character set) are known as International Resource Identifiers (IRIs). The specifications for IRIs are documented in RFC 3987 published by IETF. Using IRIs allows a URL to contain Unicode characters.</para>
      <para>The existing <see cref="T:System.Uri" /> class has been extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide IRI support based on RFC 3987. Current users will not see any change from the .NET Framework 2.0 behavior unless they specifically enable IRI. This ensures application compatibility with prior versions of the .NET Framework.</para>
      <para>To enable support for IRI, the following change is required:</para>
      <list type="bullet">
        <item>
          <para>Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. This can be done in the machine.config or in the app.config file. For example, add the following:</para>
          <code>&lt;configuration&gt;
  &lt;uri&gt;
  &lt;idn enabled="All" /&gt;
  &lt;iriParsing enabled="true" /&gt;
  &lt;/uri&gt;
&lt;/configuration&gt;</code>
        </item>
      </list>
      <para>Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Punycode names contain only ASCII characters and always start with the xn-- prefix. The reason for this is to support existing DNS servers on the Internet, since most DNS servers only support ASCII characters (see RFC 3940).</para>
      <para>Enabling IRI and IDN affects the value of the <see cref="P:System.Uri.DnsSafeHost" /> property. Enabling IRI and IDN can also change the behavior of the <see cref="M:System.Uri.Equals(System.Object)" />, <see cref="P:System.Uri.OriginalString" />, <see cref="M:System.Uri.GetComponents(System.UriComponents,System.UriFormat)" />, and <see cref="M:System.Uri.IsWellFormedOriginalString" /> methods.</para>
      <para>There are three possible values for IDN depending on the DNS servers that are used:</para>
      <list type="bullet">
        <item>
          <para>idn enabled = All</para>
          <para>This value will convert any Unicode domain names to their Punycode equivalents (IDN names).</para>
        </item>
        <item>
          <para>idn enabled = AllExceptIntranet</para>
          <para>This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). In this case to handle international names on the local Intranet, the DNS servers that are used for the Intranet should support Unicode name resolution.</para>
        </item>
        <item>
          <para>idn enabled = None</para>
          <para>This value will not convert any Unicode domain names to use Punycode. This is the default value which is consistent with the .NET Framework 2.0 behaviour.</para>
        </item>
      </list>
      <para>Enabling IRI parsing (iriParsing enabled = true) will do normalization and character checking according to the latest IRI rules in RFC 3986 and RFC 3987. The default value is false and will do normalization and character checking according to RFC 2396 and RFC 2732 (for IPv6 literals).</para>
      <para>IRI and IDN processing in the <see cref="T:System.Uri" /> class can also be controlled using the <see cref="T:System.Configuration.IriParsingElement" />, <see cref="T:System.Configuration.IdnElement" />, and <see cref="T:System.Configuration.UriSection" /> configuration setting classes. The <see cref="T:System.Configuration.IriParsingElement" /> setting enables or disables IRI processing in the <see cref="T:System.Uri" /> class. The <see cref="T:System.Configuration.IdnElement" /> setting enables or disables IDN processing in the <see cref="T:System.Uri" /> class. The <see cref="T:System.Configuration.IriParsingElement" /> setting also indirectly controls IDN. IRI processing must be enabled for IDN processing to be possible. If IRI processing is disabled, then IDN processing will be set to the default setting where the .NET Framework 2.0 behavior is used for compatibility and IDN names are not used.</para>
      <para>The configuration setting for the <see cref="T:System.Configuration.IriParsingElement" /> and <see cref="T:System.Configuration.IdnElement" /> will be read once when the first <see cref="T:System.Uri" /> class is constructed. Changes to configuration settings after that time are ignored.</para>
      <para>The <see cref="T:System.GenericUriParser" /> class has also been extended to allow creating a customizable parser that supports IRI and IDN. The behavior of a <see cref="T:System.GenericUriParser" /> object is specified by passing a bitwise combination of the values available in the <see cref="T:System.GenericUriParserOptions" /> enumeration to the <see cref="T:System.GenericUriParser" /> constructor. The <see cref="F:System.GenericUriParserOptions.IriParsing" /> type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). Whether IRI is used is dictated by the configuration values previously discussed. </para>
      <para>The <see cref="F:System.GenericUriParserOptions.Idn" /> type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. Whether IDN is used is dictated by the configuration values previously discussed. </para>
      <format type="text/html">
        <h2>Performance Considerations</h2>
      </format>
      <para>If you use a Web.config file that contains URIs to initialize your application, additional time is required to process the URIs if their scheme identifiers are nonstandard. In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.</para>
      <para>Starting with Mono 3.10, Mono adopted the International Resource Identifier ("IRI") for parsing urls, just like .NET 4.5 does (https://msdn.microsoft.com/en-us/library/bb968786%28v=vs.110%29.aspx).</para>
      <para>It is possible to disable IRI-based parsing by setting the MONO_URI_IRIPARSING environment variable to the string "false"</para>
      <para>To help compatibility with third party software that disabled this behavior, we used the same internal field to turn this feature on or off by poking at the Uri internals.</para>
      <example>
	<code lang="c#">
FieldInfo iriParsingField = typeof (Uri).GetField ("s_IriParsing",
    BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic);
if (iriParsingField != null)
    iriParsingField.SetValue (null, false);
	</code>
      </example>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string uriString)" />
      <MemberSignature Language="C#" Value="public Uri (string uriString);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string uriString) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="uriString" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.ArgumentNullException">
          <para>
            <paramref name="uriString " /> is <see langword="null" /> .</para>
        </exception>
        <exception cref="T:System.UriFormatException">
          <para>
            <paramref name="uriString" /> is a zero length string or contains only spaces.</para>
          <para>-or-</para>
          <para>
            <paramref name="uriString " /> is in an invalid form and cannot be parsed.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor creates a <see cref="T:System.Uri" /> instance from a URI string. It parses the URI, puts it in canonical format, and makes any required escape encodings.</para>
          <para>This constructor does not ensure that the <see cref="T:System.Uri" /> refers to an accessible resource.</para>
          <para>This constructor assumes that the <paramref name="string" /> parameter references an absolute URI and is equivalent to calling the <see cref="M:System.Uri.#ctor(System.String,System.UriKind)" /> constructor with <see cref="T:System.UriKind" /> set to <see cref="F:System.UriKind.Absolute" />. If the <paramref name="string" /> parameter passed to the constructor is a relative URI, this constructor will throw a <see cref="T:System.UriFormatException" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class with the specified URI.</para>
        </summary>
        <param name="uriString">
          <attribution license="cc4" from="Microsoft" modified="false" />A URI. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.Runtime.Serialization.SerializationInfo serializationInfo, valuetype System.Runtime.Serialization.StreamingContext streamingContext) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="serializationInfo" Type="System.Runtime.Serialization.SerializationInfo" />
        <Parameter Name="streamingContext" Type="System.Runtime.Serialization.StreamingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor implements the <see cref="T:System.Runtime.Serialization.ISerializable" /> interface for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class from the specified instances of the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> and <see cref="T:System.Runtime.Serialization.StreamingContext" /> classes.</para>
        </summary>
        <param name="serializationInfo">
          <attribution license="cc4" from="Microsoft" modified="false" />An instance of the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> class containing the information required to serialize the new <see cref="T:System.Uri" /> instance. </param>
        <param name="streamingContext">
          <attribution license="cc4" from="Microsoft" modified="false" />An instance of the <see cref="T:System.Runtime.Serialization.StreamingContext" /> class containing the source of the serialized stream associated with the new <see cref="T:System.Uri" /> instance. </param>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string uriString, bool dontEscape)" />
      <MemberSignature Language="C#" Value="public Uri (string uriString, bool dontEscape);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string uriString, bool dontEscape) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue />
      <Parameters>
        <Parameter Name="uriString" Type="System.String" />
        <Parameter Name="dontEscape" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <exception cref="T:System.ArgumentNullException">
          <para>
            <paramref name="uriString " /> is <see langword="null" /> .</para>
        </exception>
        <exception cref="T:System.UriFormatException">
          <para>
            <paramref name="uriString" /> is a zero length string or contains only spaces.</para>
          <para>-or-</para>
          <para>The parsing routine detected a scheme in an invalid form.</para>
          <para>-or-</para>
          <para>The parser detected more than two consecutive slashes in a URI that does not use the "file" scheme.</para>
          <para>-or-</para>
          <para>
            <paramref name="uriString " />is in an invalid form and cannot be parsed.</para>
        </exception>
        <example>
          <para>The following example creates a <see cref="T:System.Uri" /> instance for the URI
   "http://www.contoso.com/Hello%20World.htm". Because the URI contains escaped
   characters, the third parameter, <paramref name="dontEscape" /> , is set to
<see langword="true" /> .</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {
 
 Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);

 Console.WriteLine(myUri.ToString());
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>http://www.contoso.com/Hello World.htm</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor creates a <see cref="T:System.Uri" /> instance from a URI string. It parses the URI and puts it in canonical format.</para>
          <para>The <paramref name="dontEscape" /> parameter controls whether reserved characters are translated into escape sequences. This parameter should be set to true only if you are certain that all reserved characters in the URI have been escaped. Setting the value to true for a URI that has not been completely escaped can cause unexpected behavior. It is strongly recommended that you always set this parameter to false.</para>
          <para>If <paramref name="dontEscape" /> is set to false, the constructor escapes any reserved characters by checking that all occurrences of percent (%) are followed by a valid escape sequence. If the character sequence following a percent is not valid, the percent is replaced by %25.</para>
          <para>This constructor does not ensure that the <see cref="T:System.Uri" /> refers to an accessible resource.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class with the specified URI, with explicit control of character escaping.</para>
        </summary>
        <param name="uriString">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI. </param>
        <param name="dontEscape">
          <attribution license="cc4" from="Microsoft" modified="false" />true if <paramref name="uriString" /> is completely escaped; otherwise, false. See Remarks. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Uri (string uriString, UriKind uriKind);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string uriString, valuetype System.UriKind uriKind) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="uriString" Type="System.String" />
        <Parameter Name="uriKind" Type="System.UriKind" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Relative and absolute URIs have different restrictions on their format. For example, a relative URI does not require a scheme or an authority. The value you specify in <paramref name="uriKind" /> must match the type of URI passed in <paramref name="uriString" />. However, if <see cref="F:System.UriKind.RelativeOrAbsolute" /> is specified, the URI string can be relative or absolute.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class with the specified URI. This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.</para>
        </summary>
        <param name="uriString">
          <attribution license="cc4" from="Microsoft" modified="false" />A string that identifies the resource to be represented by the <see cref="T:System.Uri" /> instance.</param>
        <param name="uriKind">
          <attribution license="cc4" from="Microsoft" modified="false" />Specifies whether the URI string is a relative URI, absolute URI, or is indeterminate.</param>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Uri baseUri, string relativeUri)" />
      <MemberSignature Language="C#" Value="public Uri (Uri baseUri, string relativeUri);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Uri baseUri, string relativeUri) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="baseUri" Type="System.Uri" />
        <Parameter Name="relativeUri" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.UriFormatException">
          <para>
            <paramref name="relativeUri " />is in an invalid form.</para>
        </exception>
        <exception cref="T:System.NullReferenceException">
          <paramref name="baseUri" /> is <see langword="null" />.</exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor creates a <see cref="T:System.Uri" /> instance by combining the <paramref name="baseUri" /> and the <paramref name="relativeUri" />. If <paramref name="relativeUri" /> is an absolute URI (containing a scheme, host name, and optionally a port number), the <see cref="T:System.Uri" /> instance is created using only <paramref name="relativeUri" />.</para>
          <para>This constructor does not ensure that the <see cref="T:System.Uri" /> refers to an accessible resource.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class based on the specified base URI and relative URI string.</para>
        </summary>
        <param name="baseUri">
          <attribution license="cc4" from="Microsoft" modified="false" />The base URI. </param>
        <param name="relativeUri">
          <attribution license="cc4" from="Microsoft" modified="false" />The relative URI to add to the base URI. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Uri (Uri baseUri, Uri relativeUri);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Uri baseUri, class System.Uri relativeUri) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="baseUri" Type="System.Uri" />
        <Parameter Name="relativeUri" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor creates a new <see cref="T:System.Uri" /> instance by combining an absolute <see cref="T:System.Uri" /> instance, <paramref name="baseUri" />, with a relative <see cref="T:System.Uri" /> instance, <paramref name="relativeUri" />. If <paramref name="relativeUri" /> is an absolute <see cref="T:System.Uri" /> instance (containing a scheme, host name, and optionally a port number), the <see cref="T:System.Uri" /> instance is created using only <paramref name="relativeUri" />.</para>
          <para>This constructor does not ensure that the <see cref="T:System.Uri" /> refers to an accessible resource.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class based on the combination of a specified base <see cref="T:System.Uri" /> instance and a relative <see cref="T:System.Uri" /> instance.</para>
        </summary>
        <param name="baseUri">
          <attribution license="cc4" from="Microsoft" modified="false" />An absolute <see cref="T:System.Uri" /> that is the base for the new <see cref="T:System.Uri" /> instance. </param>
        <param name="relativeUri">
          <attribution license="cc4" from="Microsoft" modified="false" />A relative <see cref="T:System.Uri" /> instance that is combined with <paramref name="baseUri" />. </param>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Uri baseUri, string relativeUri, bool dontEscape)" />
      <MemberSignature Language="C#" Value="public Uri (Uri baseUri, string relativeUri, bool dontEscape);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Uri baseUri, string relativeUri, bool dontEscape) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("dontEscape is always false")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue />
      <Parameters>
        <Parameter Name="baseUri" Type="System.Uri" />
        <Parameter Name="relativeUri" Type="System.String" />
        <Parameter Name="dontEscape" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <exception cref="T:System.UriFormatException">
          <para>
            <paramref name="relativeUri " />is in an invalid form.</para>
        </exception>
        <exception cref="T:System.NullReferenceException">
          <paramref name="baseUri" /> is <see langword="null" />.</exception>
        <example>
          <para> The following example creates new instances of the
   <see cref="T:System.Uri" /> class by
      combining a <see cref="T:System.Uri" /> instance representing the
      base URI and a string containing a relative URI.
      </para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {

 // Typical base and relative URI constructor usage.

 Uri baseUri = new Uri("http://www.contoso.com", true);
 Uri myUri = new Uri(baseUri, "index.htm",true);
 Console.WriteLine("Typical usage: {0}",myUri.ToString());

 // Base and relative URI contain slashes.
 Uri baseUri2 = new Uri("http://www.contoso.com/", true);
 Uri myUri2 = new Uri(baseUri2, "/index.htm",true);
 Console.WriteLine("Slash example: {0}",myUri2.ToString());

 // Relative URI contains a different scheme than the base URI.
 Uri baseUri3 = new Uri("http://www.contoso.com/", true);
 Uri myUri3 = new Uri(baseUri3, "ftp://www.contoso2.com/index.htm",true);
 Console.WriteLine("Different schemes: {0}", myUri3.ToString());


 // Relative URI contains the same scheme as the base URI.
 // The scheme delimiter is not present in the relative URI.
 Uri baseUri4 = new Uri("http://www.contoso.com/", true);
 Uri myUri4 = new Uri(baseUri4, "http:www.contoso2.com/index.htm",true);
 Console.WriteLine("Same schemes - relative treated as relative: {0}",myUri4.ToString());

 // Relative URI contains the same scheme as the base URI.
 // The scheme delimiter is present in the relative URI.
 Uri baseUri5 = new Uri("http://www.contoso.com/", true);
 Uri myUri5 = new Uri(baseUri5, "http://www.contoso2/index.htm",true);
 Console.WriteLine("Same schemes - relative treated as absolute: {0}",myUri5.ToString());

 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>Typical usage: http://www.contoso.com/index.htm
         </para>
            <para>Slash example: http://www.contoso.com/index.htm</para>
            <para>Different schemes: ftp://www.contoso2.com/index.htm </para>
            <para>Same schemes - relative treated as relative: http://www.contoso.com/www.contoso2 .com/index.htm</para>
            <para>Same schemes - relative treated as absolute: http://www.contoso2/index.htm </para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor creates a <see cref="T:System.Uri" /> instance by combining <paramref name="baseUri" /> and <paramref name="relativeUri" />. If the URI passed in <paramref name="relativeUri" /> is an absolute URI (containing a scheme, host name, and optionally a port number), the <see cref="T:System.Uri" /> instance is created using only <paramref name="relativeUri" />.</para>
          <para>The <paramref name="dontEscape" /> parameter controls whether reserved characters are translated into escape sequences. This parameter should be set to true only if you are certain that all reserved characters in the URI have been escaped. Setting the value to true for a URI that has not been completely escaped can cause unexpected behavior. It is strongly recommended that you always set this parameter to false. If <paramref name="dontEscape" /> is set to false, the constructor escapes any reserved characters by checking that all occurrences of percent (%) are followed by a valid escape sequence. If the character sequence following a percent is not valid, the percent is replaced by %25.</para>
          <para>This constructor does not ensure that the <see cref="T:System.Uri" /> refers to an accessible resource.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Uri" /> class based on the specified base and relative URIs, with explicit control of character escaping.</para>
        </summary>
        <param name="baseUri">
          <attribution license="cc4" from="Microsoft" modified="false" />The base URI. </param>
        <param name="relativeUri">
          <attribution license="cc4" from="Microsoft" modified="false" />The relative URI to add to the base URI. </param>
        <param name="dontEscape">
          <attribution license="cc4" from="Microsoft" modified="false" />true if <paramref name="uriString" /> is completely escaped; otherwise, false. See Remarks. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="AbsolutePath">
      <MemberSignature Language="ILASM" Value=".property string AbsolutePath { public hidebysig specialname instance string get_AbsolutePath() }" />
      <MemberSignature Language="C#" Value="public string AbsolutePath { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string AbsolutePath" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing the
   absolute path to the resource.</para>
        </value>
        <example>
          <para> The following example outputs the absolute
      path of a URI.</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {
   Uri myUri = new Uri ("http://www.contoso.com/URI/Hello%20World.htm?date=today", true);
   Console.WriteLine(myUri.AbsolutePath);
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>/URI/Hello%20World.htm</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.AbsolutePath" /> property contains the path information that the server uses to resolve requests for information. Typically this is the path to the desired information on the server's file system, although it also can indicate the application or script the server must run to provide the information.</para>
          <para>The path information does not include the scheme, host name, or query portion of the URI.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the absolute path of the URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="AbsoluteUri">
      <MemberSignature Language="ILASM" Value=".property string AbsoluteUri { public hidebysig specialname instance string get_AbsoluteUri() }" />
      <MemberSignature Language="C#" Value="public string AbsoluteUri { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string AbsoluteUri" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing the URI
   used to construct the current instance, in canonical format.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.AbsoluteUri" /> property includes the entire URI stored in the <see cref="T:System.Uri" /> instance, including all fragments and query strings.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the absolute URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Authority">
      <MemberSignature Language="ILASM" Value=".property string Authority { public hidebysig specialname instance string get_Authority() }" />
      <MemberSignature Language="C#" Value="public string Authority { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Authority" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing the
 authority component of the current instance. The value returned by this property
 is composed of the values returned by the <see cref="P:System.Uri.Host" /> and <see cref="P:System.Uri.Port" /> properties.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.Authority" /> property is typically a server DNS host name or IP address. This property might include the service port number if it differs from the default port for the URI. If the <see cref="P:System.Uri.Authority" /> component contains reserved characters, these are escaped in the string value returned by this property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the Domain Name System (DNS) host name or IP address and the port number for a server.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Canonicalize">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Canonicalize()" />
      <MemberSignature Language="C#" Value="protected virtual void Canonicalize ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Canonicalize() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("This method does nothing, it has been obsoleted")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Stores the canonical version of the URI internally.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts the internally stored URI to canonical form.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CheckHostName">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.UriHostNameType CheckHostName(string name)" />
      <MemberSignature Language="C#" Value="public static UriHostNameType CheckHostName (string name);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype System.UriHostNameType CheckHostName(string name) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.UriHostNameType</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <example>
          <para> The following example demonstrates using the <see cref="M:System.Uri.CheckHostName(System.String)" /> method.
   </para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {
 
 Console.WriteLine(Uri.CheckHostName("www.contoso.com"));
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>Dns</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Uri.CheckHostName(System.String)" /> method checks that the host name provided meets the requirements for a valid Internet host name. It does not, however, perform a host-name lookup to verify the existence of the host.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether the specified host name is a valid DNS name.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.UriHostNameType" /> that indicates the type of the host name. If the type of the host name cannot be determined or if the host name is null or a zero-length string, this method returns <see cref="F:System.UriHostNameType.Unknown" />.</para>
        </returns>
        <param name="name">
          <attribution license="cc4" from="Microsoft" modified="false" />The host name to validate. This can be an IPv4 or IPv6 address or an Internet host name. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CheckSchemeName">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool CheckSchemeName(string schemeName)" />
      <MemberSignature Language="C#" Value="public static bool CheckSchemeName (string schemeName);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool CheckSchemeName(string schemeName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="schemeName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method checks the scheme name for validity according to RFC 2396 by default. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, this method checks the scheme name for validity according to RFC 3986. The scheme name must begin with a letter and must contain only letters, digits, and the characters ".", "+", or "-".</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether the specified scheme name is valid.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the scheme name is valid; otherwise, false.</para>
        </returns>
        <param name="schemeName">
          <attribution license="cc4" from="Microsoft" modified="false" />The scheme name to validate. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CheckSecurity">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual void CheckSecurity()" />
      <MemberSignature Language="C#" Value="protected virtual void CheckSecurity ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void CheckSecurity() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.MonoTODO("Find out what this should do")</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <para>
            <block subset="none" type="behaviors">This method checks for invalid
      or dangerous character sequences in the components of the current instance, and
      removes them. The semantics that determine whether a character sequence presents
      a security risk are determined by the scheme of the current
      instance.</block>
          </para>
          <para>
            <block subset="none" type="default">The default implementation does
      nothing.</block>
          </para>
          <para>
            <block subset="none" type="overrides">Override this method to provide
      security checks for types derived from <see cref="T:System.Uri" />.</block>
          </para>
          <para>
            <block subset="none" type="usage">Invoke this method on instances of
      types derived from <see cref="T:System.Uri" /> to remove any URI content that allows unauthorized
      access to resources.</block>
          </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Calling this method has no effect.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="C#" Value="public static int Compare (Uri uri1, Uri uri2, UriComponents partsToCompare, UriFormat compareFormat, StringComparison comparisonType);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 Compare(class System.Uri uri1, class System.Uri uri2, valuetype System.UriComponents partsToCompare, valuetype System.UriFormat compareFormat, valuetype System.StringComparison comparisonType) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri1" Type="System.Uri" />
        <Parameter Name="uri2" Type="System.Uri" />
        <Parameter Name="partsToCompare" Type="System.UriComponents" />
        <Parameter Name="compareFormat" Type="System.UriFormat" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If both <paramref name="uri1" /> and <paramref name="uri2" /> are null, this method returns 0. When comparing URI values, a relative URI is always less than an absolute URI, and a non-null URI is always greater than a null URI. For cases where both <paramref name="uri1" /> and <paramref name="uri2" /> are not null and are both relative URIs or both absolute URIs, the <see cref="M:System.String.Compare(System.String,System.String,System.StringComparison)" /> method performs the comparison.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Compares the specified parts of two URIs using the specified comparison rules.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Int32" /> value that indicates the lexical relationship between the compared <see cref="T:System.Uri" /> components.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Value</para>
                </term>
                <description>
                  <para>Meaning</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>Less than zero</para>
              </term>
              <description>
                <para>
                  <paramref name="uri1" /> is less than <paramref name="uri2" />.</para>
              </description>
            </item>
            <item>
              <term>
                <para>Zero</para>
              </term>
              <description>
                <para>
                  <paramref name="uri1" /> equals <paramref name="uri2" />.</para>
              </description>
            </item>
            <item>
              <term>
                <para>Greater than zero</para>
              </term>
              <description>
                <para>
                  <paramref name="uri1" /> is greater than <paramref name="uri2" />.</para>
              </description>
            </item>
          </list>
        </returns>
        <param name="uri1">
          <attribution license="cc4" from="Microsoft" modified="false" />The first <see cref="T:System.Uri" />.</param>
        <param name="uri2">
          <attribution license="cc4" from="Microsoft" modified="false" />The second <see cref="T:System.Uri" />.</param>
        <param name="partsToCompare">
          <attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.UriComponents" /> values that specifies the parts of <paramref name="uri1" /> and <paramref name="uri2" /> to compare.</param>
        <param name="compareFormat">
          <attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.UriFormat" /> values that specifies the character escaping used when the URI components are compared.</param>
        <param name="comparisonType">
          <attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.StringComparison" /> values.</param>
      </Docs>
    </Member>
    <Member MemberName="DnsSafeHost">
      <MemberSignature Language="C#" Value="public string DnsSafeHost { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string DnsSafeHost" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For IPv6 addresses, the brackets ([]) are removed and the <see cref="P:System.Net.IPAddress.ScopeId" /> property is set, if one was specified when this instance was constructed.</para>
          <para>The <see cref="P:System.Uri.DnsSafeHost" /> property has been extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide International Resource Identifier (IRI) support based on RFC 3987. Current users will not see any change from the .NET Framework 2.0 behavior unless they specifically enable IRI. This ensures application compatibility with prior versions of the .NET Framework.</para>
          <para>To enable support for IRI, the following two changes are required:</para>
          <list type="ordered">
            <item>
              <para>Add the following line to the machine.config file under the .NET Framework 2.0 directory</para>
              <para>&lt;section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;</para>
            </item>
            <item>
              <para>Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. This can be done in the machine.config or in the app.config file. For example, add the following:</para>
              <code>&lt;configuration&gt;
  &lt;uri&gt;
  &lt;idn enabled="All" /&gt;
  &lt;iriParsing enabled="true" /&gt;
  &lt;/uri&gt;
&lt;/configuration&gt;</code>
            </item>
          </list>
          <para>Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Punycode names contain only ASCII characters and always start with the xn-- prefix. The reason for this is to support existing DNS servers on the Internet, since most DNS servers only support ASCII characters (see RFC 3940).</para>
          <para>Enabling IDN only affects the value of the <see cref="P:System.Uri.DnsSafeHost" /> property. </para>
          <para>There are three possible values for IDN depending on the DNS servers that are used:</para>
          <list type="bullet">
            <item>
              <para>idn enabled = All</para>
              <para>This value will convert any Unicode domain names to their Punycode equivalents (IDN names).</para>
            </item>
            <item>
              <para>idn enabled = AllExceptIntranet</para>
              <para>This value will convert all external Unicode domain names to use the Punycode equivalents (IDN names). In this case to handle international names on the local Intranet, the DNS servers that are used for the Intranet should support Unicode names.</para>
            </item>
            <item>
              <para>idn enabled = None</para>
              <para>This value will not convert any Unicode domain names to use Punycode. This is the default value which is consistent with the .NET Framework 2.0 behaviour.</para>
            </item>
          </list>
          <para>Enabling IRI parsing (iriParsing enabled = true) will do normalization and character checking according to the latest IRI rules in RFC 3987. The default value is false and will do normalization and character checking according to RFC 2396 and RFC 2732 (for IPv6 literals).</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets an unescaped host name that is safe to use for DNS resolution.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object comparand)" />
      <MemberSignature Language="C#" Value="public override bool Equals (object comparand);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object comparand) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="comparand" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Uri.Equals(System.Object)" /> method compares the two instances without regard to user information (<see cref="P:System.Uri.UserInfo" />) and fragment (<see cref="P:System.Uri.Fragment" />) parts that they might contain. For example, given the URIs http://www.contoso.com/index.htm#search and http://user:password@www.contoso.com/index.htm, the <see cref="M:System.Uri.Equals(System.Object)" /> method would return true.</para>
          <para>If one <see cref="T:System.Uri" /> instance is formed with a Unicode host name and <paramref name="comparand" /> parameter contains a <see cref="T:System.Uri" /> instance or identifier that is formed with a host name that has the equivalent Punycode host name, then <see cref="M:System.Uri.Equals(System.Object)" /> returns true only if International Resource Identifier (IRI) and Internationalized Domain Name (IDN) support are enabled. Punycode names contain only ASCII characters and always start with the xn-- prefix. </para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
          <block subset="none" type="note">
            <para>In the .NET Framework versions 1.0 and 1.1, the <see cref="P:System.Uri.Query" /> is also ignored.</para>
          </block>
          <block subset="none" type="note">
            <para>The <see cref="M:System.Uri.Equals(System.Object)" /> method can be overridden in a derived class; use caution as a malicious entity could modify the method. You should not use this method to perform security checks unless you know that this instance came from a trusted source.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Compares two <see cref="T:System.Uri" /> instances for equality.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the two instances represent the same URI; otherwise, false.</para>
        </returns>
        <param name="comparand">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Uri" /> instance or a URI identifier to compare with the current instance. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Escape">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Escape()" />
      <MemberSignature Language="C#" Value="protected virtual void Escape ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Escape() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <block subset="none" type="behaviors">
            <para>Converts any unsafe or reserved characters in the <see cref="P:System.Uri.AbsolutePath" /> component to a character 
      sequence
      consisting of a "%" followed by the hexadecimal value of the character
      as described by IETF 2396. </para>
            <para>If the path component of the current instance is <see langword="null" />, the
   escaped path is <see cref="F:System.String.Empty" />.</para>
          </block>
          <para>
            <block subset="none" type="default">As described
   above.</block>
          </para>
          <para>
            <block subset="none" type="overrides">Override this
   method to customize the escaping behavior provided by the <see cref="T:System.Uri" />
   type.</block>
          </para>
          <para>
            <block subset="none" type="usage">Applications
   typically do not call this method; it is intended for use by the
   constructors.</block>
          </para>
          <para>
            <block subset="none" type="note">For additional
   information on escaping URI, see section 2 of RFC 2396.</block>
          </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="EscapeDataString">
      <MemberSignature Language="C#" Value="public static string EscapeDataString (string stringToEscape);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string EscapeDataString(string stringToEscape) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stringToEscape" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>By default, the <see cref="M:System.Uri.EscapeDataString(System.String)" /> method converts all characters except for RFC 2396 unreserved characters to their hexadecimal representation. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the <see cref="M:System.Uri.EscapeDataString(System.String)" /> method converts all characters, except for RFC 3986 unreserved characters, to their hexadecimal representation. All Unicode characters are converted to UTF-8 format before being escaped. </para>
          <para>This method assumes that <paramref name="stringToEscape" /> has no escape sequences in it.</para>
          <para>By default, the string is escaped according to RFC 2396. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the string is escaped according to RFC 3986 and RFC 3987. See these RFCs for a definition of reserved and unreserved characters.</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts a string to its escaped representation.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that contains the escaped representation of <paramref name="stringToEscape" />.</para>
        </returns>
        <param name="stringToEscape">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to escape.</param>
      </Docs>
    </Member>
    <Member MemberName="EscapeString">
      <MemberSignature Language="ILASM" Value=".method family hidebysig static string EscapeString(string str)" />
      <MemberSignature Language="C#" Value="protected static string EscapeString (string str);" />
      <MemberSignature Language="ILAsm" Value=".method familystatic hidebysig string EscapeString(string str) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Uri.EscapeString(System.String)" /> method converts RFC 2396 reserved characters and all characters with a character value greater than 127 to hexadecimal representation. All Unicode characters are converted to UTF-8 format before being escaped.</para>
          <para>By default, the string is escaped according to RFC 2396. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the string is escaped according to RFC 3986 and RFC 3987.</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts a string to its escaped representation.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The escaped representation of the string.</para>
        </returns>
        <param name="str">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to transform to its escaped representation. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="EscapeUriString">
      <MemberSignature Language="C#" Value="public static string EscapeUriString (string stringToEscape);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string EscapeUriString(string stringToEscape) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stringToEscape" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use the <see cref="M:System.Uri.EscapeUriString(System.String)" /> method to prepare an unescaped URI string to be a parameter to the <see cref="M:System.Uri.#ctor(System.String,System.UriKind)" /> constructor.</para>
          <para>By default, the <see cref="M:System.Uri.EscapeUriString(System.String)" /> method converts all characters, except RFC 2396 unreserved characters, to their hexadecimal representation. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the <see cref="M:System.Uri.EscapeUriString(System.String)" /> method converts all characters, except for RFC 3986 unreserved characters, to their hexadecimal representation. All Unicode characters are converted to UTF-8 format before being escaped. </para>
          <para>This method assumes that <paramref name="stringToEscape" /> has no escape sequences in it.</para>
          <para>By default, the string is escaped according to RFC 2396. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the string is escaped according to RFC 3986 and RFC 3987. See these RFCs for a definition of reserved and unreserved characters.</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts a URI string to its escaped representation.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that contains the escaped representation of <paramref name="stringToEscape" />.</para>
        </returns>
        <param name="stringToEscape">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to escape.</param>
      </Docs>
    </Member>
    <Member MemberName="Fragment">
      <MemberSignature Language="ILASM" Value=".property string Fragment { public hidebysig specialname instance string get_Fragment() }" />
      <MemberSignature Language="C#" Value="public string Fragment { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Fragment" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing any
   fragment information contained in the URI used to construct the current instance.</para>
        </value>
        <example>
          <para>The following example demonstrates the use of the
   <see cref="P:System.Uri.Fragment" />
   property.</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {

 Uri baseUri = new Uri("http://www.contoso.com/");
 Uri myUri = new Uri(baseUri, "index.htm#main");
 
 Console.WriteLine(myUri.Fragment);
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>#main</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.Fragment" /> property gets any text following a fragment marker (#) in the URI, including the fragment marker itself. Given the URI http://www.contoso.com/index.htm#main, the <see cref="P:System.Uri.Fragment" /> property would return #main.</para>
          <para>The <see cref="P:System.Uri.Fragment" /> property is not considered in any <see cref="M:System.Uri.Equals(System.Object)" /> comparison.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the escaped URI fragment.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="FromHex">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 FromHex(valuetype System.Char digit)" />
      <MemberSignature Language="C#" Value="public static int FromHex (char digit);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 FromHex(char digit) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="digit" Type="System.Char" />
      </Parameters>
      <Docs>
        <exception cref="T:System.ArgumentException">
          <paramref name="digit " />is not a valid hexadecimal digit (0-9, a-f, A-F).</exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Uri.FromHex(System.Char)" /> method converts a character representing a hexadecimal digit (0-9, a-f, A-F) to its decimal value (0 to 15). If <paramref name="digit" /> is not a valid hexadecimal digit, an <see cref="T:System.ArgumentException" /> exception is thrown.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the decimal value of a hexadecimal digit.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Int32" /> value that contains a number from 0 to 15 that corresponds to the specified hexadecimal digit.</para>
        </returns>
        <param name="digit">
          <attribution license="cc4" from="Microsoft" modified="false" />The hexadecimal digit (0-9, a-f, A-F) to convert. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetComponents">
      <MemberSignature Language="C#" Value="public string GetComponents (UriComponents components, UriFormat format);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetComponents(valuetype System.UriComponents components, valuetype System.UriFormat format) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="components" Type="System.UriComponents" />
        <Parameter Name="format" Type="System.UriFormat" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When <see cref="F:System.UriComponents.Query" /> or <see cref="F:System.UriComponents.Fragment" /> is specified alone, the return value includes the delimiter. The <see cref="F:System.UriComponents.Scheme" />, <see cref="F:System.UriComponents.UserInfo" />, <see cref="F:System.UriComponents.Host" />, <see cref="F:System.UriComponents.Port" />, and <see cref="F:System.UriComponents.Path" /> components do not include the delimiter. For all other <see cref="T:System.UriComponents" /> values, and combinations of values, the delimiters are included in the returned value.</para>
          <para>The components are returned in the order that they appear in the URI. For example, if <see cref="F:System.UriComponents.Scheme" /> is specified, it appears first.</para>
          <para>When International Resource Identifier (IRI) and Internationalized Domain Name (IDN) support are enabled, the number of characters returned in the <see cref="T:System.String" /> increases. Punycode names used to support IRI contain only ASCII characters and always start with the xn-- prefix. When IRI and IDN are enabled, Unicode surrogate characters are handled correctly by the <see cref="M:System.Uri.GetComponents(System.UriComponents,System.UriFormat)" /> method.</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
          <block subset="none" type="note">
            <para>If the <see cref="M:System.Uri.GetComponents(System.UriComponents,System.UriFormat)" /> method is called with <paramref name="format" /> set to <see cref="F:System.UriFormat.Unescaped" /> , you cannot use the return value as an argument to a <see cref="Overload:System.Uri.#ctor" /> constructor to create an equivalent <see cref="T:System.Uri" />.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the specified components of the current instance using the specified escaping for special characters.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that contains the components.</para>
        </returns>
        <param name="components">
          <attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.UriComponents" /> values that specifies which parts of the current instance to return to the caller.</param>
        <param name="format">
          <attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.UriFormat" /> values that controls how special characters are escaped. </param>
      </Docs>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()" />
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <para> The hash code is generated without the fragment component.
      For example, the URIs "http://www.contoso.com/index.htm#search"
      and "http://www.contoso.com/index.htm"
      produce the same hash code.</para>
          <para>The algorithm used to generate the hash code is unspecified.</para>
          <para>
            <block subset="none" type="note">
      This method overrides <see cref="M:System.Object.GetHashCode" />. </block>
          </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the hash code for the URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Int32" /> containing the hash value generated for this URI.</para>
        </returns>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetLeftPart">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string GetLeftPart(valuetype System.UriPartial part)" />
      <MemberSignature Language="C#" Value="public string GetLeftPart (UriPartial part);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetLeftPart(valuetype System.UriPartial part) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="part" Type="System.UriPartial" />
      </Parameters>
      <Docs>
        <exception cref="T:System.ArgumentException">The <paramref name="part" /> parameter is not a valid <see cref="T:System.UriPartial" /> value.</exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.Uri.GetLeftPart(System.UriPartial)" /> method.</para>
          <code lang="C#">using System;

public class UriTest {
  public static void Main() {
    string[] myUri  = {
            "http://www.contoso.com/index.htm",
            "http:www.contoso.com/index.htm#mark",
                    "mailto:user@contoso.com?subject=uri",
                    "nntp://news.contoso.com/123456@contoso.com"
    };
    foreach (string s in myUri) {
      Uri aUri = new Uri(s);
      Console.WriteLine("URI: {0}", aUri.ToString());
      Console.WriteLine("Scheme: {0}",aUri.GetLeftPart(UriPartial.Scheme));
      Console.WriteLine("Authority: {0}",aUri.GetLeftPart(UriPartial.Authority));
      Console.WriteLine("Path: {0}",aUri.GetLeftPart(UriPartial.Path));
    }  
  }
}
</code>
          <para>The output is</para>
          <c>
            <para>URI: http://www.contoso.com/index.htm</para>
            <para>Scheme: http://</para>
            <para>Authority: http://www.contoso.com</para>
            <para>Path: http://www.contoso.com/index.htm</para>
            <para>URI: http://www.contoso.com/index.htm#mark</para>
            <para>Scheme: http://</para>
            <para>Authority: http://www.contoso.com</para>
            <para>Path: http://www.contoso.com/index.htm</para>
            <para>URI: mailto:user@contoso.com?subject=uri</para>
            <para>Scheme: mailto:</para>
            <para>Authority:</para>
            <para>Path: mailto:user@contoso.com</para>
            <para>URI: nntp://news.contoso.com/123456@contoso.com</para>
            <para>Scheme: nntp://</para>
            <para>Authority: nntp://news.contoso.com</para>
            <para>Path: nntp://news.contoso.com/123456@contoso.com</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Uri.GetLeftPart(System.UriPartial)" /> method returns a string containing the leftmost portion of the URI string, ending with the portion specified by <paramref name="part" />.</para>
          <para>
            <see cref="M:System.Uri.GetLeftPart(System.UriPartial)" /> includes delimiters in the following cases: </para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.UriPartial.Scheme" /> includes the scheme delimiter.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.UriPartial.Authority" /> does not include the path delimiter.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.UriPartial.Path" /> includes any delimiters in the original URI up to the query or fragment delimiter.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.UriPartial.Query" /> includes the <see cref="F:System.UriPartial.Path" />, plus the query and its delimiter.</para>
            </item>
          </list>
          <para>The following examples show a URI and the results of calling <see cref="M:System.Uri.GetLeftPart(System.UriPartial)" /> with <see cref="F:System.UriPartial.Scheme" />, <see cref="F:System.UriPartial.Authority" />, <see cref="F:System.UriPartial.Path" />, or <see cref="F:System.UriPartial.Query" />.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>URI </para>
                </term>
                <description>
                  <para>Scheme </para>
                </description>
                <description>
                  <para>Authority </para>
                </description>
                <description>
                  <para>Path </para>
                </description>
                <description>
                  <para>Query </para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>http://www.contoso.com/index.htm?date=today </para>
              </term>
              <description>
                <para>http:// </para>
              </description>
              <description>
                <para>http://www.contoso.com </para>
              </description>
              <description>
                <para>http://www.contoso.com/index.htm </para>
              </description>
              <description>
                <para>http://www.contoso.com/index.htm?date=today </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://www.contoso.com/index.htm#main </para>
              </term>
              <description>
                <para>http:// </para>
              </description>
              <description>
                <para>http://www.contoso.com </para>
              </description>
              <description>
                <para>http://www.contoso.com/index.htm </para>
              </description>
              <description>
                <para>http://www.contoso.com/index.htm </para>
              </description>
            </item>
            <item>
              <term>
                <para>mailto:user@contoso.com?subject=uri </para>
              </term>
              <description>
                <para>mailto: </para>
              </description>
              <description>
                <para>mailto:user@contoso.com </para>
              </description>
              <description>
                <para>mailto:user@contoso.com?subject=uri </para>
              </description>
              <description>
                <para>&lt;none&gt;</para>
              </description>
            </item>
            <item>
              <term>
                <para>nntp://news.contoso.com/123456@contoso.com </para>
              </term>
              <description>
                <para>nntp:// </para>
              </description>
              <description>
                <para>nntp://news.contoso.com </para>
              </description>
              <description>
                <para>nntp://news.contoso.com/123456@contoso.com </para>
              </description>
              <description>
                <para>nntp://news.contoso.com/123456@contoso.com </para>
              </description>
            </item>
            <item>
              <term>
                <para>news:123456@contoso.com </para>
              </term>
              <description>
                <para>news: </para>
              </description>
              <description>
                <para>news:123456@contoso.com </para>
              </description>
              <description>
                <para>news:123456@contoso.com </para>
              </description>
              <description>
                <para>&lt;none&gt;</para>
              </description>
            </item>
            <item>
              <term>
                <para>file://server/filename.ext </para>
              </term>
              <description>
                <para>file:// </para>
              </description>
              <description>
                <para>file://server </para>
              </description>
              <description>
                <para>file://server/filename.ext </para>
              </description>
              <description>
                <para>file://server/filename.ext </para>
              </description>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the specified portion of a <see cref="T:System.Uri" /> instance.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that contains the specified portion of the <see cref="T:System.Uri" /> instance.</para>
        </returns>
        <param name="part">
          <attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.UriPartial" /> values that specifies the end of the URI portion to return. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetObjectData">
      <MemberSignature Language="C#" Value="protected void GetObjectData (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void GetObjectData(class System.Runtime.Serialization.SerializationInfo serializationInfo, valuetype System.Runtime.Serialization.StreamingContext streamingContext) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="serializationInfo" Type="System.Runtime.Serialization.SerializationInfo" />
        <Parameter Name="streamingContext" Type="System.Runtime.Serialization.StreamingContext" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns the data needed to serialize the current instance.</para>
        </summary>
        <param name="serializationInfo">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object containing the information required to serialize the <see cref="T:System.Uri" />.</param>
        <param name="streamingContext">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.StreamingContext" /> object containing the source and destination of the serialized stream associated with the <see cref="T:System.Uri" />.</param>
      </Docs>
    </Member>
    <Member MemberName="HexEscape">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string HexEscape(valuetype System.Char character)" />
      <MemberSignature Language="C#" Value="public static string HexEscape (char character);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string HexEscape(char character) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="character" Type="System.Char" />
      </Parameters>
      <Docs>
        <remarks>
          <para> The returned string is in the
      form "%XX", where X represents a hexadecimal digit (0-9, A-F).</para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">The numerical value of <paramref name="character" /> is greater than 255. </exception>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts a specified character into its hexadecimal equivalent.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The hexadecimal representation of the specified character.</para>
        </returns>
        <param name="character">
          <attribution license="cc4" from="Microsoft" modified="false" />The character to convert to hexadecimal representation. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="HexUnescape">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char HexUnescape(string pattern, class System.Int32&amp; index)" />
      <MemberSignature Language="C#" Value="public static char HexUnescape (string pattern, ref int index);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig char HexUnescape(string pattern, int32 index) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Char</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pattern" Type="System.String" />
        <Parameter Name="index" Type="System.Int32&amp;" RefType="ref" />
      </Parameters>
      <Docs>
        <param name="pattern">A <see cref="T:System.String" /> containing the hexadecimal representation of a character. </param>
        <param name="index">A <see cref="T:System.Int32" /> containing the location in <paramref name="pattern" /> where the hexadecimal representation of a character begins. </param>
        <summary>
          <para> Converts a specified escaped hexadecimal representation of a character to the character.
      </para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Char" /> containing a character. If the character pointed to
   by <paramref name="index" /> is a "%" and there are at least two characters following the
   "%", and the two characters are valid hexadecimal digits, the hexadecimal
   digits are converted to <see cref="T:System.Char" />. Otherwise, the character at <paramref name="index" /> is returned. Valid hexadecimal digits are:
   0-9,
   a-f, A-F.
   </para>
          <para>On return, the value of <paramref name="index " />
contains the index of the character following the one returned.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="index &lt; " />0, or <paramref name="index " />&gt;= the number of characters in pattern.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Host">
      <MemberSignature Language="ILASM" Value=".property string Host { public hidebysig specialname instance string get_Host() }" />
      <MemberSignature Language="C#" Value="public string Host { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Host" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing the DNS host
   name or IP address of the host server. If the host information was not
   specified to the constructor, the value of this property is <see cref="F:System.String.Empty" /> .</para>
        </value>
        <example>
          <para>The following example demonstrates using the <see cref="P:System.Uri.Host" /> 
property.</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {

 Uri baseUri = new Uri("http://www.contoso.com:8080/");
 Uri myUri = new Uri(baseUri, "shownew.htm?date=today");
 
 Console.WriteLine(myUri.Host);
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>www.contoso.com</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Unlike the <see cref="P:System.Uri.Authority" /> property, this property value does not include the port number.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the host component of this instance.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="HostNameType">
      <MemberSignature Language="ILASM" Value=".property valuetype System.UriHostNameType HostNameType { public hidebysig specialname instance valuetype System.UriHostNameType get_HostNameType() }" />
      <MemberSignature Language="C#" Value="public UriHostNameType HostNameType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.UriHostNameType HostNameType" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.UriHostNameType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.UriHostNameType" /> that indicates the format of the host address 
   information in the current instance.</para>
        </value>
        <remarks>
          <para>This property is read-only.</para>
          <para>If <see cref="P:System.Uri.Host" /> is <see langword="null" />, the value of this property is
<see cref="F:System.UriHostNameType.Unknown" /> .</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the type of the host name specified in the URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsAbsoluteUri">
      <MemberSignature Language="C#" Value="public bool IsAbsoluteUri { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsAbsoluteUri" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This property is true if the string or <see cref="T:System.Uri" /> instance that was passed into the constructor can be parsed as an absolute <see cref="T:System.Uri" /> instance, which contains a scheme, an authority, and a path. Otherwise, the <see cref="T:System.Uri" /> instance is treated as relative and might omit the scheme or other URI components.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether the <see cref="T:System.Uri" /> instance is absolute.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="IsBadFileSystemCharacter">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual bool IsBadFileSystemCharacter(valuetype System.Char character)" />
      <MemberSignature Language="C#" Value="protected virtual bool IsBadFileSystemCharacter (char character);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool IsBadFileSystemCharacter(char character) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="character" Type="System.Char" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The character is analyzed according to the rules for the NTFS file system.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether a character is invalid in a file system name.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the specified character is invalid; otherwise false.</para>
        </returns>
        <param name="character">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Char" /> to test. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsBaseOf">
      <MemberSignature Language="C#" Value="public bool IsBaseOf (Uri uri);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsBaseOf(class System.Uri uri) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>
            <see cref="M:System.Uri.IsBaseOf(System.Uri)" /> is used to compare the current <see cref="T:System.Uri" /> instance to a specified <see cref="T:System.Uri" /> to determine whether this URI is a base for the specified <see cref="T:System.Uri" />. When comparing two <see cref="T:System.Uri" /> objects to determine a base relationship, the user information (<see cref="P:System.Uri.UserInfo" />) is not evaluated. When comparing two URIs (uri1 and uri2), uri1 is the base of uri2 if, when you ignore everything in uri2 after the last slash (/), the two URIs are identical. Using http://host/path/path/file?query as the base URI, the following table shows whether it is a base for other URIs.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>URI </para>
                </term>
                <description>
                  <para>http://host/path/path/file?query is base of </para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>http://host/path/path/file/ </para>
              </term>
              <description>
                <para>yes </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path/#fragment </para>
              </term>
              <description>
                <para>yes </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path/MoreDir/" </para>
              </term>
              <description>
                <para>yes </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path/OtherFile?Query </para>
              </term>
              <description>
                <para>yes </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path/ </para>
              </term>
              <description>
                <para>yes </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path/file </para>
              </term>
              <description>
                <para>yes </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path </para>
              </term>
              <description>
                <para>no </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path?query </para>
              </term>
              <description>
                <para>no </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path#Fragment </para>
              </term>
              <description>
                <para>no </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path2/ </para>
              </term>
              <description>
                <para>no </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/path2/MoreDir </para>
              </term>
              <description>
                <para>no </para>
              </description>
            </item>
            <item>
              <term>
                <para>http://host/path/File </para>
              </term>
              <description>
                <para>no </para>
              </description>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether the current <see cref="T:System.Uri" /> instance is a base of the specified <see cref="T:System.Uri" /> instance.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if the current <see cref="T:System.Uri" /> instance is a base of <paramref name="uri" />; otherwise, false.</para>
        </returns>
        <param name="uri">
          <attribution license="cc4" from="Microsoft" modified="false" />The specified <see cref="T:System.Uri" /> instance to test. </param>
      </Docs>
    </Member>
    <Member MemberName="IsDefaultPort">
      <MemberSignature Language="ILASM" Value=".property bool IsDefaultPort { public hidebysig specialname instance bool get_IsDefaultPort() }" />
      <MemberSignature Language="C#" Value="public bool IsDefaultPort { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsDefaultPort" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>
            <see langword="true " />if the value in the <see cref="P:System.Uri.Port" /> property is the default
 port for the <see cref="P:System.Uri.Scheme" />
 ; otherwise, <see langword="false" />.</para>
        </value>
        <remarks>
          <para>This property is read-only.</para>
          <para>
            <block subset="none" type="note">For a list of default
 port values, see the <see cref="P:System.Uri.Port" /> property.</block>
          </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether the port value of the URI is the default for this scheme.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsExcludedCharacter">
      <MemberSignature Language="ILASM" Value=".method family hidebysig static bool IsExcludedCharacter(valuetype System.Char character)" />
      <MemberSignature Language="C#" Value="protected static bool IsExcludedCharacter (char character);" />
      <MemberSignature Language="ILAsm" Value=".method familystatic hidebysig bool IsExcludedCharacter(char character) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="character" Type="System.Char" />
      </Parameters>
      <Docs>
        <remarks>
          <para>This method returns <see langword="true" /> for the following characters:
   </para>
          <list type="table">
            <listheader>
              <term>Character(s)</term>
              <description>Description</description>
            </listheader>
            <item>
              <term>
                <paramref name="character " />&lt; 0x0020 </term>
              <description>Any character with the ASCII value less than
      hexadecimal 0x20 (32). </description>
            </item>
            <item>
              <term>
                <paramref name="character " />&lt; 0x007f</term>
              <description>Any character with the ASCII value greater than
   hexadecimal 0x7f (127).</description>
            </item>
            <item>
              <term> &lt;</term>
              <description>Less than sign.</description>
            </item>
            <item>
              <term> &gt;</term>
              <description>Greater than sign.</description>
            </item>
            <item>
              <term> #</term>
              <description> Number sign (crosshatch, pound sign).</description>
            </item>
            <item>
              <term> %</term>
              <description>Percent.</description>
            </item>
            <item>
              <term> "</term>
              <description>
                <para>Quotation mark.</para>
              </description>
            </item>
            <item>
              <term> {</term>
              <description>Left curly brace.</description>
            </item>
            <item>
              <term> }</term>
              <description>Right curly brace.</description>
            </item>
            <item>
              <term> |</term>
              <description>Pipe sign (vertical bar).</description>
            </item>
            <item>
              <term> \</term>
              <description> Backward slash.</description>
            </item>
            <item>
              <term> ^</term>
              <description>Circumflex (caret).</description>
            </item>
            <item>
              <term> [</term>
              <description>Left square bracket.</description>
            </item>
            <item>
              <term> ]</term>
              <description>Right square bracket.</description>
            </item>
            <item>
              <term> `</term>
              <description>Grave accent.</description>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether the specified character should be escaped.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the specified character should be escaped; otherwise, false.</para>
        </returns>
        <param name="character">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Char" /> to test. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsFile">
      <MemberSignature Language="ILASM" Value=".property bool IsFile { public hidebysig specialname instance bool get_IsFile() }" />
      <MemberSignature Language="C#" Value="public bool IsFile { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsFile" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>
            <see langword="true " />if the 
 resource identified by the current <see cref="T:System.Uri" /> is a file; otherwise,
<see langword="false" /> .</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.IsFile" /> property is true when the <see cref="P:System.Uri.Scheme" /> property equals <see cref="F:System.Uri.UriSchemeFile" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the specified <see cref="T:System.Uri" /> is a file URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsHexDigit">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsHexDigit(valuetype System.Char character)" />
      <MemberSignature Language="C#" Value="public static bool IsHexDigit (char character);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsHexDigit(char character) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="character" Type="System.Char" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Hexadecimal digits are the digits 0 to 9 and the letters A-F or a-f.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether a specified character is a valid hexadecimal digit.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the character is a valid hexadecimal digit; otherwise false.</para>
        </returns>
        <param name="character">
          <attribution license="cc4" from="Microsoft" modified="false" />The character to validate. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsHexEncoding">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsHexEncoding(string pattern, int32 index)" />
      <MemberSignature Language="C#" Value="public static bool IsHexEncoding (string pattern, int index);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsHexEncoding(string pattern, int32 index) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pattern" Type="System.String" />
        <Parameter Name="index" Type="System.Int32" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Uri.IsHexEncoding(System.String,System.Int32)" /> method checks for hexadecimal encoding that follows the pattern "%hexhex" in a string, where "hex" is a digit from 0 to 9 or a letter from A-F (case-insensitive).</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether a character in a string is hexadecimal encoded.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if <paramref name="pattern" /> is hexadecimal encoded at the specified location; otherwise, false.</para>
        </returns>
        <param name="pattern">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to check. </param>
        <param name="index">
          <attribution license="cc4" from="Microsoft" modified="false" />The location in <paramref name="pattern" /> to check for hexadecimal encoding. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsLoopback">
      <MemberSignature Language="ILASM" Value=".property bool IsLoopback { public hidebysig specialname instance bool get_IsLoopback() }" />
      <MemberSignature Language="C#" Value="public bool IsLoopback { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsLoopback" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>
            <see langword="true " />if the host of
 the current instance is the reserved hostname "localhost" or the
 loop-back IP address (127.0.0.1); otherwise,
<see langword="false" />.</para>
        </value>
        <example>
          <para>The following example demonstrates the <see cref="P:System.Uri.IsLoopback" /> property.</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {
 Uri myUri = new Uri("http://127.0.0.1/index.htm", true);
 Console.WriteLine("{0} is loopback? {1}", myUri.ToString(), myUri.IsLoopback);

 myUri = new Uri("http://localhost/index.htm", true);
 Console.WriteLine("{0} is loopback? {1}", myUri.ToString(), myUri.IsLoopback);

 }
}
</code>
          <para>The output is </para>
          <para> 
 http://127.0.0.1/index.htm is loopback?
 True</para>
          <para>http://localhost/index.htm is loopback? True</para>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>
            <see cref="P:System.Uri.IsLoopback" /> returns true if the URI specified when this instance was created was 127.0.0.1, loopback, or localhost, or if the URI did not specify host information (for example, file:///c:Dir/file.txt). All other URIs return false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether the specified <see cref="T:System.Uri" /> references the local host.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsReservedCharacter">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual bool IsReservedCharacter(valuetype System.Char character)" />
      <MemberSignature Language="C#" Value="protected virtual bool IsReservedCharacter (char character);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool IsReservedCharacter(char character) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="character" Type="System.Char" />
      </Parameters>
      <Docs>
        <remarks>
          <para>The following characters are reserved for the use in URI:</para>
          <list type="table">
            <listheader>
              <term>Character</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> ;</term>
              <description>Semi-colon.</description>
            </item>
            <item>
              <term> /</term>
              <description> Forward slash.</description>
            </item>
            <item>
              <term> :</term>
              <description>Colon.</description>
            </item>
            <item>
              <term> @</term>
              <description>At sign (commercial at).</description>
            </item>
            <item>
              <term> &amp;</term>
              <description>Ampersand.</description>
            </item>
            <item>
              <term> =</term>
              <description>Equals sign.</description>
            </item>
            <item>
              <term> +</term>
              <description>Plus sign.</description>
            </item>
            <item>
              <term> $</term>
              <description>US
            Dollar sign.</description>
            </item>
            <item>
              <term> ,</term>
              <description>Comma.</description>
            </item>
          </list>
          <para>
            <block subset="none" type="behaviors"> As described above. 
   </block>
          </para>
          <para>
            <block subset="none" type="overrides">Override this 
   method to customize the escaping behavior provided by the <see cref="T:System.Uri" />
   type.</block>
          </para>
          <para>
            <block subset="none" type="usage">Use this method to determine if a character is reserved.</block>
          </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether the specified character is a reserved character.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the specified character is a reserved character otherwise, false.</para>
        </returns>
        <param name="character">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Char" /> to test. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsUnc">
      <MemberSignature Language="C#" Value="public bool IsUnc { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsUnc" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.IsUnc" /> property is true if the specified <see cref="T:System.Uri" /> instance is a UNC path (such as \\server\folder or file://server/folder). This property always returns true if the URI has the file:// scheme and specifies a host component.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether the specified <see cref="T:System.Uri" /> is a universal naming convention (UNC) path.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="IsWellFormedOriginalString">
      <MemberSignature Language="C#" Value="public bool IsWellFormedOriginalString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsWellFormedOriginalString() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The string is considered to be well-formed in accordance with RFC 2396 and RFC 2732 by default. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the string is considered to be well-formed in accordance with RFC 3986 and RFC 3987 </para>
          <para>The string is considered poorly formed, causing the method to return false, if any of the following conditions occur.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Error</para>
                </term>
                <description>
                  <para>Example</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>The string is not correctly escaped.</para>
              </term>
              <description>
                <para>
                  <see cref="http://www.contoso.com/path???/file">http://www.contoso.com/path???/file</see> name</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string is an absolute <see cref="T:System.Uri" /> that represents an implicit file <see cref="T:System.Uri" />.</para>
              </term>
              <description>
                <para>c:\\directory\filename</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string is an absolute URI that is missing a slash before the path.</para>
              </term>
              <description>
                <para>file://c:/directory/filename</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string contains unescaped backslashes even if they are treated as forward slashes.</para>
              </term>
              <description>
                <para>http:\\host/path/file</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string represents a hierarchical absolute <see cref="T:System.Uri" /> and does not contain "://".</para>
              </term>
              <description>
                <para>www.contoso.com/path/file</para>
              </description>
            </item>
            <item>
              <term>
                <para>The parser for the <see cref="P:System.Uri.Scheme" /> indicates that the original string was not well-formed.</para>
              </term>
              <description>
                <para>The example depends on the scheme of the URI.</para>
              </description>
            </item>
          </list>
          <para>By default, the string used to construct this <see cref="T:System.Uri" /> are considered well-formed in accordance with RFC 2396 and RFC 2732.</para>
          <para>When International Resource Identifier (IRI) and Internationalized Domain Name (IDN) support are enabled, the string used to construct this <see cref="T:System.Uri" /> are considered well-formed in accordance with RFC 3986 and RFC 3987. Punycode names used to support IRI contain only ASCII characters and always start with the xn-- prefix. </para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Indicates whether the string used to construct this <see cref="T:System.Uri" /> was well-formed and is not required to be further escaped.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the string was well-formed; else false.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="IsWellFormedUriString">
      <MemberSignature Language="C#" Value="public static bool IsWellFormedUriString (string uriString, UriKind uriKind);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsWellFormedUriString(string uriString, valuetype System.UriKind uriKind) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uriString" Type="System.String" />
        <Parameter Name="uriKind" Type="System.UriKind" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>By default, the string is considered well-formed in accordance with RFC 2396 and RFC 2732. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the string is considered well-formed in accordance with RFC 3986 and RFC 3987.</para>
          <para>The string is considered poorly formed, causing the method to return false, if any of the following conditions occur</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Error</para>
                </term>
                <description>
                  <para>Example</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>The string is not correctly escaped.</para>
              </term>
              <description>
                <para>
                  <see cref="http://www.contoso.com/path???/file">http://www.contoso.com/path???/file</see> name</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string is an absolute <see cref="T:System.Uri" /> that represents an implicit file <see cref="T:System.Uri" />.</para>
              </term>
              <description>
                <para>c:\\directory\filename</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string is an absolute URI that is missing a slash before the path.</para>
              </term>
              <description>
                <para>file://c:/directory/filename</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string contains unescaped backslashes even if they will be treated as forward slashes</para>
              </term>
              <description>
                <para>http:\\host/path/file</para>
              </description>
            </item>
            <item>
              <term>
                <para>The string represents a hierarchical absolute <see cref="T:System.Uri" /> and does not contain "://"</para>
              </term>
              <description>
                <para>www.contoso.com/path/file</para>
              </description>
            </item>
            <item>
              <term>
                <para>The parser for the <see cref="P:System.Uri.Scheme" /> indicates that the original string was not well-formed.</para>
              </term>
              <description>
                <para>The example depends on the scheme of the URI.</para>
              </description>
            </item>
          </list>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Indicates whether the string is well-formed by attempting to construct a URI with the string and ensures that the string does not require further escaping.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the string was well-formed; else false.</para>
        </returns>
        <param name="uriString">
          <attribution license="cc4" from="Microsoft" modified="false" />The string used to attempt to construct a <see cref="T:System.Uri" />.</param>
        <param name="uriKind">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of the <see cref="T:System.Uri" /> in <paramref name="uriString" />.</param>
      </Docs>
    </Member>
    <Member MemberName="LocalPath">
      <MemberSignature Language="ILASM" Value=".property string LocalPath { public hidebysig specialname instance string get_LocalPath() }" />
      <MemberSignature Language="C#" Value="public string LocalPath { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string LocalPath" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.String" /> containing the
   local representation of the resource identified by the current
   instance.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The value returned by this property is unescaped. If the path is recognized as a Windows file path, all forward slashes (/) are replaced by backward slashes (\). </para>
          <para>For the URI file://computer/file.ext, the absolute path is /file.ext and the local path is \\computer\file.ext.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a local operating-system representation of a file name.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="MakeRelative">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string MakeRelative(class System.Uri toUri)" />
      <MemberSignature Language="C#" Value="public string MakeRelative (Uri toUri);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string MakeRelative(class System.Uri toUri) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("Use MakeRelativeUri(Uri uri) instead.")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="toUri" Type="System.Uri" />
      </Parameters>
      <Docs>
        <example>
          <para>The following example demonstrates the <see cref="M:System.Uri.MakeRelative(System.Uri)" />
method.</para>
          <code lang="C#">using System;
public class UriTest {
  public static void Main() {
    Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
    Console.WriteLine(myUri.ToString());
    Console.WriteLine(myUri.MakeRelative(new Uri ("http://www.contoso.com/index.htm")));
  }
}
</code>
          <para>The output is </para>
          <c>
            <para>http://www.contoso.com/Hello World.htm</para>
            <para>index.htm</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The following table shows the URI instance, <paramref name="toUri" />, and the results of calling <see cref="M:System.Uri.MakeRelative(System.Uri)" />.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Current URI instance</para>
                </term>
                <description>
                  <para>
                    <paramref name="toUri" />
                  </para>
                </description>
                <description>
                  <para>Return value</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>http://www.contoso.com/</para>
              </term>
              <description>
                <para>http://www.contoso.com/test/test.htm</para>
              </description>
              <description>
                <para>test/test.htm</para>
              </description>
            </item>
            <item>
              <term>
                <para>http://www.contoso.com/test1/</para>
              </term>
              <description>
                <para>http://www.contoso.com/</para>
              </description>
              <description>
                <para>../</para>
              </description>
            </item>
            <item>
              <term>
                <para>http://www.contoso.com:8000/</para>
              </term>
              <description>
                <para>http://www.contoso.com/test/test.htm</para>
              </description>
              <description>
                <para>http://www.contoso.com/test/test.htm</para>
              </description>
            </item>
            <item>
              <term>
                <para>http://username@www.contoso.com/</para>
              </term>
              <description>
                <para>http://www.contoso.com/test1/test1.txt</para>
              </description>
              <description>
                <para>test1/test1.txt</para>
              </description>
            </item>
          </list>
          <para>User information, if present in the URI, is ignored.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines the difference between two <see cref="T:System.Uri" /> instances.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the hostname and scheme of this URI instance and <paramref name="toUri" /> are the same, then this method returns a <see cref="T:System.String" /> that represents a relative URI that, when appended to the current URI instance, yields the <paramref name="toUri" /> parameter.</para>
          <para>If the hostname or scheme is different, then this method returns a <see cref="T:System.String" /> that represents the <paramref name="toUri" /> parameter.</para>
        </returns>
        <param name="toUri">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI to compare to the current URI. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="MakeRelativeUri">
      <MemberSignature Language="C#" Value="public Uri MakeRelativeUri (Uri uri);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Uri MakeRelativeUri(class System.Uri uri) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Uri</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The following table shows the URI instance, <paramref name="toUri" />, and the results of calling <see cref="M:System.Uri.MakeRelativeUri(System.Uri)" />.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Current URI instance</para>
                </term>
                <description>
                  <para>
                    <paramref name="toUri" />
                  </para>
                </description>
                <description>
                  <para>Return value</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>http://www.contoso.com/</para>
              </term>
              <description>
                <para>http://www.contoso.com/test/test.htm</para>
              </description>
              <description>
                <para>test/test.htm</para>
              </description>
            </item>
            <item>
              <term>
                <para>http://www.contoso.com/test1/</para>
              </term>
              <description>
                <para>http://www.contoso.com/</para>
              </description>
              <description>
                <para>../</para>
              </description>
            </item>
            <item>
              <term>
                <para>http://www.contoso.com:8000/</para>
              </term>
              <description>
                <para>http://www.contoso.com/test/test.htm</para>
              </description>
              <description>
                <para>http://www.contoso.com/test/test.htm</para>
              </description>
            </item>
            <item>
              <term>
                <para>http://username@www.contoso.com/</para>
              </term>
              <description>
                <para>http://www.contoso.com/test1/test1.txt</para>
              </description>
              <description>
                <para>test1/test1.txt</para>
              </description>
            </item>
          </list>
          <para>User information, if present in the URI, is ignored.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines the difference between two <see cref="T:System.Uri" /> instances.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the hostname and scheme of this URI instance and <paramref name="uri" /> are the same, then this method returns a relative <see cref="T:System.Uri" /> that, when appended to the current URI instance, yields <paramref name="uri" />.</para>
          <para>If the hostname or scheme is different, then this method returns a <see cref="T:System.Uri" />  that represents the <paramref name="uri" /> parameter.</para>
        </returns>
        <param name="uri">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI to compare to the current URI.</param>
      </Docs>
    </Member>
    <Member MemberName="op_Equality">
      <MemberSignature Language="C#" Value="public static bool op_Equality (Uri uri1, Uri uri2);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Equality(class System.Uri uri1, class System.Uri uri2) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri1" Type="System.Uri" />
        <Parameter Name="uri2" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This overload uses the <see cref="M:System.Uri.Equals(System.Object)" /> method to determine whether the two <see cref="T:System.Uri" /> instances are equivalent. <see cref="P:System.Uri.UserInfo" /> and <see cref="P:System.Uri.Fragment" /> content is ignored when making this comparison.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether two <see cref="T:System.Uri" /> instances have the same value.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the <see cref="T:System.Uri" /> instances are equivalent; otherwise, false.</para>
        </returns>
        <param name="uri1">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> instance to compare with <paramref name="uri2" />. </param>
        <param name="uri2">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> instance to compare with <paramref name="uri1" />. </param>
      </Docs>
    </Member>
    <Member MemberName="op_Inequality">
      <MemberSignature Language="C#" Value="public static bool op_Inequality (Uri uri1, Uri uri2);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Inequality(class System.Uri uri1, class System.Uri uri2) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri1" Type="System.Uri" />
        <Parameter Name="uri2" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This overload uses the <see cref="M:System.Uri.Equals(System.Object)" /> method to determine whether the two <see cref="T:System.Uri" /> instances are not equivalent. <see cref="P:System.Uri.UserInfo" /> and <see cref="P:System.Uri.Fragment" /> content is ignored when making this comparison.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether two <see cref="T:System.Uri" /> instances do not have the same value.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Boolean" /> value that is true if the two <see cref="T:System.Uri" /> instances are not equal; otherwise, false. If either parameter is null, this method returns true.</para>
        </returns>
        <param name="uri1">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> instance to compare with <paramref name="uri2" />. </param>
        <param name="uri2">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> instance to compare with <paramref name="uri1" />. </param>
      </Docs>
    </Member>
    <Member MemberName="OriginalString">
      <MemberSignature Language="C#" Value="public string OriginalString { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string OriginalString" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the URI specified to the constructor contained leading or trailing spaces, these spaces are preserved.</para>
          <para>The value returned by this property differs from <see cref="M:System.Uri.ToString" /> and <see cref="P:System.Uri.AbsoluteUri" />. <see cref="M:System.Uri.ToString" /> returns the canonically unescaped form of the URI. <see cref="P:System.Uri.AbsoluteUri" /> returns the canonically escaped form of the URI.</para>
          <para>When International Resource Identifier (IRI) and Internationalized Domain Name (IDN) support are enabled, <see cref="P:System.Uri.OriginalString" /> returns the original non normalized string with Punycode host name if one was used to initialize the <see cref="T:System.Uri" /> instance. Punycode names contain only ASCII characters and always start with the xn-- prefix. </para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
          <para>When a <see cref="T:System.Uri" /> object is serialized, the <see cref="P:System.Uri.OriginalString" /> is not preserved. The serialization process uses the fully escaped and canonicalized <see cref="P:System.Uri.AbsoluteUri" /> property when serializing. For a <see cref="T:System.Uri" /> that contains an IPv6 address, the IPv6 address and the scope ID are included in the serialized <see cref="T:System.Uri" /> object.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the original URI string that was passed to the <see cref="T:System.Uri" /> constructor.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Parse">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Parse()" />
      <MemberSignature Language="C#" Value="protected virtual void Parse ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void Parse() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete("The method has been deprecated. It is not used by the system.")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <para>
            <block subset="none" type="behaviors"> This method parses the <see cref="P:System.Uri.AbsolutePath" />
property, separates it into various URI components, and stores the
components in the appropriate <see cref="T:System.Uri" />
properties.
</block>
          </para>
          <para>
            <block subset="none" type="default"> This method parses path components as defined in IETF RFC 2396. 
</block>
          </para>
          <para>
            <block subset="none" type="overrides">
   Override this method to provide parsing for URIs in
   formats that are not defined in IETF RFC 2396.
</block>
          </para>
          <para>
            <block subset="none" type="usage">Applications typically do not call this 
   method; it is intended for use by the constructors.</block>
          </para>
        </remarks>
        <exception cref="T:System.UriFormatException">
          <para>The scheme of the URI is in an invalid format.</para>
          <para>-or-</para>
          <para>The URI is in an invalid form and cannot be parsed.</para>
        </exception>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="PathAndQuery">
      <MemberSignature Language="ILASM" Value=".property string PathAndQuery { public hidebysig specialname instance string get_PathAndQuery() }" />
      <MemberSignature Language="C#" Value="public string PathAndQuery { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string PathAndQuery" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> that contains the
   values of the <see cref="P:System.Uri.AbsolutePath" /> and <see cref="P:System.Uri.Query" /> properties.</para>
        </value>
        <example>
          <para> The following example uses the <see cref="P:System.Uri.PathAndQuery" /> property to extract the path and query information 
   from a <see cref="T:System.Uri" />
   instance.</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {

 Uri baseUri = new Uri("http://www.contoso.com/");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm?date=today");
 
 Console.WriteLine(myUri.PathAndQuery);
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>/catalog/shownew.htm?date=today</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.PathAndQuery" /> property contains the absolute path on the server and the query information sent with the request. It is identical to concatenating the <see cref="P:System.Uri.AbsolutePath" /> and <see cref="P:System.Uri.Query" /> properties.</para>
          <para>The <see cref="P:System.Uri.PathAndQuery" /> property is escaped according to RFC 2396 by default. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the <see cref="P:System.Uri.PathAndQuery" /> property is escaped according to RFC 3986 and RFC 3987.</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the <see cref="P:System.Uri.AbsolutePath" /> and <see cref="P:System.Uri.Query" /> properties separated by a question mark (?).</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Port">
      <MemberSignature Language="ILASM" Value=".property int32 Port { public hidebysig specialname instance int32 get_Port() }" />
      <MemberSignature Language="C#" Value="public int Port { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Port" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.Int32" /> containing the port number, or -1 if no port is used by
   the URI <see cref="P:System.Uri.Scheme" /> . If no port was specified as part of the URI used
   to construct the current instance, the <see cref="P:System.Uri.Port" /> property returns the default port for the URI scheme.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The port number defines the protocol port used for contacting the server referenced in the URI. If a port is not specified as part of the URI, the <see cref="P:System.Uri.Port" /> property returns the default value for the protocol. If there is no default port number, this property returns -1.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the port number of this URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Query">
      <MemberSignature Language="ILASM" Value=".property string Query { public hidebysig specialname instance string get_Query() }" />
      <MemberSignature Language="C#" Value="public string Query { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Query" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing the
   query information included in the specified URI, or <see cref="F:System.String.Empty" /> .</para>
        </value>
        <example>
          <para> The following example uses the <see cref="P:System.Uri.Query" />
property to extract the
query from a URI.</para>
          <code lang="C#">using System;

public class UriTest {
 public static void Main() {

 Uri baseUri = new Uri("http://www.contoso.com/");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm?date=today");
 
 Console.WriteLine(myUri.Query);
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>?date=today</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.Query" /> property contains any query information included in the URI. Query information is separated from the path information by a question mark (?) and continues to the end of the URI. The query information returned includes the leading question mark.</para>
          <para>The query information is escaped according to RFC 2396 by default. If International Resource Identifiers (IRIs) or Internationalized Domain Name (IDN) parsing is enabled, the query information is escaped according to RFC 3986 and RFC 3987.</para>
          <para>For more information on IRI support, see the Remarks section for the <see cref="T:System.Uri" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets any query information included in the specified URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Scheme">
      <MemberSignature Language="ILASM" Value=".property string Scheme { public hidebysig specialname instance string get_Scheme() }" />
      <MemberSignature Language="C#" Value="public string Scheme { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Scheme" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing the URI scheme.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.Scheme" /> property returns the scheme used to initialize the <see cref="T:System.Uri" /> instance. This property does not indicate that the scheme used to initialize the <see cref="T:System.Uri" /> instance was recognized. </para>
          <para>The following table shows examples of some possible values returned by the <see cref="P:System.Uri.Scheme" /> property.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Scheme </para>
                </term>
                <description>
                  <para>Description </para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>file </para>
              </term>
              <description>
                <para>The resource is a file on the local computer. </para>
              </description>
            </item>
            <item>
              <term>
                <para>ftp </para>
              </term>
              <description>
                <para>The resource is accessed through FTP. </para>
              </description>
            </item>
            <item>
              <term>
                <para>gopher </para>
              </term>
              <description>
                <para>The resource is accessed through the Gopher protocol. </para>
              </description>
            </item>
            <item>
              <term>
                <para>http </para>
              </term>
              <description>
                <para>The resource is accessed through HTTP. </para>
              </description>
            </item>
            <item>
              <term>
                <para>https </para>
              </term>
              <description>
                <para>The resource is accessed through SSL-encrypted HTTP. </para>
              </description>
            </item>
            <item>
              <term>
                <para>ldap</para>
              </term>
              <description>
                <para>The resource is accessed through the LDAP protocol.</para>
              </description>
            </item>
            <item>
              <term>
                <para>mailto </para>
              </term>
              <description>
                <para>The resource is an e-mail address and accessed through the SMTP protocol. </para>
              </description>
            </item>
            <item>
              <term>
                <para>net.pipe</para>
              </term>
              <description>
                <para>The resource is accessed through a named pipe.</para>
              </description>
            </item>
            <item>
              <term>
                <para>net.tcp</para>
              </term>
              <description>
                <para>The resource is accessed from TCP endpoint.</para>
              </description>
            </item>
            <item>
              <term>
                <para>news</para>
              </term>
              <description>
                <para>The resource is accessed through the NNTP protocol.</para>
              </description>
            </item>
            <item>
              <term>
                <para>nntp </para>
              </term>
              <description>
                <para>The resource is accessed through the NNTP protocol. </para>
              </description>
            </item>
            <item>
              <term>
                <para>telnet</para>
              </term>
              <description>
                <para>The resource is accessed through the TELNET protocol.</para>
              </description>
            </item>
            <item>
              <term>
                <para>uuid</para>
              </term>
              <description>
                <para>The resource is accessed through a unique UUID endpoint name for communicating with a service.</para>
              </description>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the scheme name for this URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="SchemeDelimiter">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string SchemeDelimiter" />
      <MemberSignature Language="C#" Value="public static readonly string SchemeDelimiter;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string SchemeDelimiter" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "://".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies the characters that separate the communication protocol scheme from the address portion of the URI. This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Segments">
      <MemberSignature Language="C#" Value="public string[] Segments { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string[] Segments" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.Segments" /> property returns an array of strings containing the "segments" (substrings) that form the URI's absolute path. The first segment is obtained by parsing the absolute path from its first character until you reach a slash (/) or the end of the path. Each additional segment begins at the first character after the preceding segment, and terminates with the next slash or the end of the path. (A URI's absolute path contains everything after the host and port and before the query and fragment.) </para>
          <para>The following example shows the absolute path and segments for two URIs. The second example illustrates that the fragment and query are not part of the absolute path and therefore are not segments.</para>
          <list type="table">
            <item>
              <term>Absolute URI </term>
              <description>
                <para>http://www.contoso.com/Chapters/Chapter1/Sections/Section1.htm</para>
              </description>
            </item>
            <item>
              <term>Absolute path </term>
              <description>
                <para>/Chapters/Chapter1/Sections/Section1.htm</para>
              </description>
            </item>
            <item>
              <term>Segments</term>
              <description>
                <para>/Chapters/Chapter1/Sections/Section1.htm</para>
              </description>
            </item>
          </list>
          <list type="table">
            <item>
              <term>Absolute URI </term>
              <description>
                <para>http://www.contoso.com/Chapters/Chapter1/Sections/Section1.htm#page1?answer=NO</para>
              </description>
            </item>
            <item>
              <term>Absolute path </term>
              <description>
                <para>/Chapters/Chapter1/Sections/Section1.htm</para>
              </description>
            </item>
            <item>
              <term>Segments</term>
              <description>
                <para>/Chapters/Chapter1/Sections/Section1.htm</para>
              </description>
            </item>
          </list>
          <para>Note that because the absolute path starts with a '/', the first segment contains it and nothing else.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets an array containing the path segments that make up the specified URI.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="System.Runtime.Serialization.ISerializable.GetObjectData">
      <MemberSignature Language="C#" Value="void ISerializable.GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.Serialization.ISerializable.GetObjectData(class System.Runtime.Serialization.SerializationInfo info, valuetype System.Runtime.Serialization.StreamingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" />
        <Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" />
      </Parameters>
      <Docs>
        <param name="info">To be added.</param>
        <param name="context">To be added.</param>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns the data needed to serialize the current instance.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()" />
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The string returned by this method does not contain port information when the port is the default port for the scheme.</para>
          <block subset="none" type="note">
            <para>The string returned by the <see cref="M:System.Uri.ToString" /> method may contain control characters, which can corrupt the state of a console application. You can use the <see cref="M:System.Uri.GetComponents(System.UriComponents,System.UriFormat)" /> method with the <see cref="F:System.UriFormat.SafeUnescaped" /> format to remove control characters from the returned string.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a canonical string representation for the specified <see cref="T:System.Uri" /> instance.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> instance that contains the unescaped canonical representation of the <see cref="T:System.Uri" /> instance. All characters are unescaped except #, ?, and %.</para>
        </returns>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="TryCreate">
      <MemberSignature Language="C#" Value="public static bool TryCreate (string uriString, UriKind uriKind, out Uri result);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TryCreate(string uriString, valuetype System.UriKind uriKind, class System.Uri result) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uriString" Type="System.String" />
        <Parameter Name="uriKind" Type="System.UriKind" />
        <Parameter Name="result" Type="System.Uri&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="uriString">To be added.</param>
        <param name="uriKind">To be added.</param>
        <param name="result">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="TryCreate">
      <MemberSignature Language="C#" Value="public static bool TryCreate (Uri baseUri, string relativeUri, out Uri result);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TryCreate(class System.Uri baseUri, string relativeUri, class System.Uri result) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="baseUri" Type="System.Uri" />
        <Parameter Name="relativeUri" Type="System.String" />
        <Parameter Name="result" Type="System.Uri&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="baseUri">To be added.</param>
        <param name="relativeUri">To be added.</param>
        <param name="result">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="TryCreate">
      <MemberSignature Language="C#" Value="public static bool TryCreate (Uri baseUri, Uri relativeUri, out Uri result);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TryCreate(class System.Uri baseUri, class System.Uri relativeUri, class System.Uri result) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="baseUri" Type="System.Uri" />
        <Parameter Name="relativeUri" Type="System.Uri" />
        <Parameter Name="result" Type="System.Uri&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="baseUri">To be added.</param>
        <param name="relativeUri">To be added.</param>
        <param name="result">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Unescape">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual string Unescape(string path)" />
      <MemberSignature Language="C#" Value="protected virtual string Unescape (string path);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string Unescape(string path) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <block subset="none" type="note">
            <para> Escape sequences can be hex-encoded reserved characters (for example
 "%40") or hex-encoded UTF-8 sequences (for example "%C4%D2").</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts the specified string by replacing any escape sequences with their unescaped representation.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that contains the unescaped value of the <paramref name="path" /> parameter.</para>
        </returns>
        <param name="path">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.String" /> to convert. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UnescapeDataString">
      <MemberSignature Language="C#" Value="public static string UnescapeDataString (string stringToUnescape);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string UnescapeDataString(string stringToUnescape) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="stringToUnescape" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>You should use this method with care. Unescaping a string that has been previously unescaped can lead to ambiguities and errors.</para>
          <para>Many Web browsers escape spaces inside of URIs into plus ("+") characters; however, the UnescapeDataString method does not convert plus characters into spaces because this behavior is not standard across all URI schemes. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Converts a string to its unescaped representation.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that contains the unescaped representation of <paramref name="stringToUnescape" />. </para>
        </returns>
        <param name="stringToUnescape">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to unescape.</param>
      </Docs>
    </Member>
    <Member MemberName="UriSchemeFile">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeFile" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeFile;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeFile" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>file</MemberValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>In .NET Framework version 1.1, a "file:///path" URI was translated to "file:/path". This has been corrected for version 2.0.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is a pointer to a file. This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeFtp">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeFtp" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeFtp;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeFtp" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>ftp</MemberValue>
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "ftp".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is accessed through the File Transfer Protocol (FTP). This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeGopher">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeGopher" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeGopher;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeGopher" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>gopher</MemberValue>
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "gopher".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is accessed through the Gopher protocol. This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeHttp">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeHttp" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeHttp;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeHttp" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>http</MemberValue>
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "http".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeHttps">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeHttps" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeHttps;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeHttps" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>https</MemberValue>
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "https".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeMailto">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeMailto" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeMailto;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeMailto" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>mailto</MemberValue>
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "mailto".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is an e-mail address and is accessed through the Simple Mail Transport Protocol (SMTP). This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeNetPipe">
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeNetPipe;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeNetPipe" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). This field is read-only.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UriSchemeNetTcp">
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeNetTcp;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeNetTcp" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). This field is read-only.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UriSchemeNews">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeNews" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeNews;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeNews" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>news</MemberValue>
      <Docs>
        <remarks>
          <para>This field is read-only. The value of this field is "news".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UriSchemeNntp">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string UriSchemeNntp" />
      <MemberSignature Language="C#" Value="public static readonly string UriSchemeNntp;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly string UriSchemeNntp" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>nntp</MemberValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The NNTP <see cref="T:System.Uri" /> parsing errors in .NET Framework version 1.1 have been corrected.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). This field is read-only.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UserEscaped">
      <MemberSignature Language="ILASM" Value=".property bool UserEscaped { public hidebysig specialname instance bool get_UserEscaped() }" />
      <MemberSignature Language="C#" Value="public bool UserEscaped { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool UserEscaped" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>
            <see langword="true " />if
   the <paramref name="dontEscape " />parameter of the constructor for
   the current instance was set to
<see langword="true " /> ; otherwise, 
<see langword="false" /> .</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Uri.UserEscaped" /> property is set to true to indicate that the string used to create the <see cref="T:System.Uri" /> instance was completely escaped before it was passed to the constructor; that is, the <paramref name="dontEscape" /> parameter of the constructor call was set to true.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Indicates that the URI string was completely escaped before the <see cref="T:System.Uri" /> instance was created.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UserInfo">
      <MemberSignature Language="ILASM" Value=".property string UserInfo { public hidebysig specialname instance string get_UserInfo() }" />
      <MemberSignature Language="C#" Value="public string UserInfo { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string UserInfo" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> containing any 
 user information included in the URI used to construct the current instance, or
<see cref="F:System.String.Empty" /> if no user 
 information was included.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The value returned by this property is usually in the format "userName:password".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the user name, password, or other user-specific information associated with the specified URI.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>