System.Uri.cs

ylbtech-System.Uri.cs
1.返回顶部

1、

#region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll
#endregion

using System.ComponentModel;
using System.Runtime.Serialization;

namespace System
{
    //
    // 摘要:
    //     提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。
    [TypeConverter(typeof(UriTypeConverter))]
    public class Uri : ISerializable
    {
        //
        // 摘要:
        //     指定 URI 是指向文件的指针。 此字段为只读。
        public static readonly string UriSchemeFile;
        //
        // 摘要:
        //     指定通过文件传输协议 (FTP) 访问 URI。 此字段为只读。
        public static readonly string UriSchemeFtp;
        //
        // 摘要:
        //     指定通过 Gopher 协议访问 URI。 此字段为只读。
        public static readonly string UriSchemeGopher;
        //
        // 摘要:
        //     指定通过超文本传输协议 (HTTP) 访问 URI。 此字段为只读。
        public static readonly string UriSchemeHttp;
        //
        // 摘要:
        //     指定通过安全超文本传输协议 (HTTPS) 访问 URI。 此字段为只读。
        public static readonly string UriSchemeHttps;
        //
        // 摘要:
        //     指定 URI 是一个电子邮件地址,需通过简单邮件传输协议 (SMTP) 访问。 此字段为只读。
        public static readonly string UriSchemeMailto;
        //
        // 摘要:
        //     指定 URI 是 Internet 新闻组,而且可以通过 Network 新闻传输协议 (NNTP) 进行访问。 此字段为只读。
        public static readonly string UriSchemeNews;
        //
        // 摘要:
        //     指定 URI 是 Internet 新闻组,而且可以通过 Network 新闻传输协议 (NNTP) 进行访问。 此字段为只读。
        public static readonly string UriSchemeNntp;
        //
        // 摘要:
        //     指明通过 Windows Communication Foundation (WCF) 使用的 NetTcp 方案访问该 URI。 此字段为只读。
        public static readonly string UriSchemeNetTcp;
        //
        // 摘要:
        //     指明通过 Windows Communication Foundation (WCF) 使用的 NetPipe 方案访问该 URI。 此字段为只读。
        public static readonly string UriSchemeNetPipe;
        //
        // 摘要:
        //     指定将通讯协议方案同 URI 的地址部分分开的字符。 此字段为只读。
        public static readonly string SchemeDelimiter;

        //
        // 摘要:
        //     用指定的 URI 初始化 System.Uri 类的新实例。
        //
        // 参数:
        //   uriString:
        //     一个 URI。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     uriString 为 null。
        //
        //   T:System.UriFormatException:
        //     uriString 为空。 - 或 - uriString 中指定的方案形式不正确。 请参见 System.Uri.CheckSchemeName(System.String)。
        //     - 或 - uriString 包含太多斜杠。 - 或 - uriString 中指定的密码无效。 - 或 - uriString 中指定的主机名无效。
        //     - 或 - uriString 中指定的文件名无效。 - 或 - uriString 中指定的用户名无效。 - 或 - uriString 中指定的主机名或证书颁发机构名不能以反斜杠结尾。
        //     - 或 - uriString 中指定的端口号无效或无法分析。 - 或 - uriString 的长度超过 65519 个字符。 - 或 - uriString
        //     中指定的方案的长度超过 1023 个字符。 - 或 - uriString 中存在无效的字符序列。 - 或 - uriString 中指定的 MS-DOS
        //     路径必须以 c:\\ 开头。
        public Uri(string uriString);
        //
        // 摘要:
        //     根据指定的基 System.Uri 实例和相对 System.Uri 实例的组合,初始化 System.Uri 类的新实例。
        //
        // 参数:
        //   baseUri:
        //     作为新 System.Uri 实例的基的绝对 System.Uri。
        //
        //   relativeUri:
        //     与 System.Uri 组合的相对 baseUri 实例。
        //
        // 异常:
        //   T:System.ArgumentException:
        //     baseUri 不是绝对的 System.Uri 实例。
        //
        //   T:System.ArgumentNullException:
        //     baseUri 为 null。
        //
        //   T:System.ArgumentOutOfRangeException:
        //     baseUri 不是绝对的 System.Uri 实例。
        //
        //   T:System.UriFormatException:
        //     baseUri 和 relativeUri 组合形成的 URI 是空的或只包含空格。 - 或 - baseUri 和 relativeUri 组合形成的
        //     URI 中指定的方案无效。 - 或 - baseUri 和 relativeUri 组合所形成的 URI 包含太多的斜杠。 - 或 - baseUri 和
        //     relativeUri 组合形成的 URI 中指定的密码无效。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的主机名无效。
        //     - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的文件名无效。 - 或 - baseUri 和 relativeUri
        //     组合形成的 URI 中指定的用户名无效。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的主机名或证书颁发机构名不能以反斜杠结尾。
        //     - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的端口号无效或无法分析。 - 或 - baseUri 和 relativeUri
        //     组合形成的 URI 的长度超过 65519 个字符。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的方案的长度超过
        //     1023 个字符。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中存在无效的字符序列。 - 或 - uriString 中指定的
        //     MS-DOS 路径必须以 c:\\ 开头。
        public Uri(Uri baseUri, Uri relativeUri);
        //
        // 摘要:
        //     根据指定的基 URI 和相对 URI 字符串,初始化 System.Uri 类的新实例。
        //
        // 参数:
        //   baseUri:
        //     基 URI。
        //
        //   relativeUri:
        //     要添加到基 URI 的相对 URI。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     baseUri 为 null。
        //
        //   T:System.ArgumentOutOfRangeException:
        //     baseUri 不是绝对的 System.Uri 实例。
        //
        //   T:System.UriFormatException:
        //     baseUri 和 relativeUri 组合形成的 URI 是空的或只包含空格。 - 或 - baseUri 和 relativeUri 组合形成的
        //     URI 中指定的方案无效。 - 或 - baseUri 和 relativeUri 组合所形成的 URI 包含太多的斜杠。 - 或 - baseUri 和
        //     relativeUri 组合形成的 URI 中指定的密码无效。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的主机名无效。
        //     - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的文件名无效。 - 或 - baseUri 和 relativeUri
        //     组合形成的 URI 中指定的用户名无效。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的主机名或证书颁发机构名不能以反斜杠结尾。
        //     - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的端口号无效或无法分析。 - 或 - baseUri 和 relativeUri
        //     组合形成的 URI 的长度超过 65519 个字符。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的方案的长度超过
        //     1023 个字符。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中存在无效的字符序列。 - 或 - uriString 中指定的
        //     MS-DOS 路径必须以 c:\\ 开头。
        public Uri(Uri baseUri, string relativeUri);
        //
        // 摘要:
        //     用指定的 URI 初始化 System.Uri 类的新实例,并对字符转义进行显式控制。
        //
        // 参数:
        //   uriString:
        //     URI。
        //
        //   dontEscape:
        //     如果 uriString 已完全转义,则为 true;否则为 false。 请参见"备注"。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     uriString 为 null。
        //
        //   T:System.UriFormatException:
        //     uriString 为空或只包含空格。 - 或 - 在 uriString 中指定的方案无效。 - 或 - uriString 包含太多斜杠。 - 或 -
        //     uriString 中指定的密码无效。 - 或 - uriString 中指定的主机名无效。 - 或 - uriString 中指定的文件名无效。 - 或
        //     - uriString 中指定的用户名无效。 - 或 - uriString 中指定的主机名或证书颁发机构名不能以反斜杠结尾。 - 或 - uriString
        //     中指定的端口号无效或无法分析。 - 或 - uriString 的长度超过 65519 个字符。 - 或 - uriString 中指定的方案的长度超过
        //     1023 个字符。 - 或 - uriString 中存在无效的字符序列。 - 或 - uriString 中指定的 MS-DOS 路径必须以 c:\        //     开头。
        [Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
        public Uri(string uriString, bool dontEscape);
        //
        // 摘要:
        //     用指定的 URI 初始化 System.Uri 类的新实例。 此构造函数允许您指定 URI 字符串是相对 URI、绝对 URI 还是不确定。
        //
        // 参数:
        //   uriString:
        //     标识将由 System.Uri 实例表示的资源的字符串。
        //
        //   uriKind:
        //     指定 URI 字符串是相对 URI、绝对 URI 还是不确定。
        //
        // 异常:
        //   T:System.ArgumentException:
        //     uriKind 无效。
        //
        //   T:System.ArgumentNullException:
        //     uriString 为 null。
        //
        //   T:System.UriFormatException:
        //     uriString 包含相对 URI,而 uriKind 为 System.UriKind.Absolute。 或 uriString 包含绝对 URI,而
        //     uriKind 为 System.UriKind.Relative。 或 uriString 为空。 - 或 - uriString 中指定的方案形式不正确。
        //     请参见 System.Uri.CheckSchemeName(System.String)。 - 或 - uriString 包含太多斜杠。 - 或 -
        //     uriString 中指定的密码无效。 - 或 - uriString 中指定的主机名无效。 - 或 - uriString 中指定的文件名无效。 - 或
        //     - uriString 中指定的用户名无效。 - 或 - uriString 中指定的主机名或证书颁发机构名不能以反斜杠结尾。 - 或 - uriString
        //     中指定的端口号无效或无法分析。 - 或 - uriString 的长度超过 65519 个字符。 - 或 - uriString 中指定的方案的长度超过
        //     1023 个字符。 - 或 - uriString 中存在无效的字符序列。 - 或 - uriString 中指定的 MS-DOS 路径必须以 c:\        //     开头。
        public Uri(string uriString, UriKind uriKind);
        //
        // 摘要:
        //     根据指定的基 URI 和相对 URI,初始化 System.Uri 类的新实例,并对字符转义进行显式控制。
        //
        // 参数:
        //   baseUri:
        //     基 URI。
        //
        //   relativeUri:
        //     要添加到基 URI 的相对 URI。
        //
        //   dontEscape:
        //     如果 uriString 已完全转义,则为 true;否则为 false。 请参见"备注"。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     baseUri 为 null。
        //
        //   T:System.ArgumentOutOfRangeException:
        //     baseUri 不是绝对的 System.Uri 实例。
        //
        //   T:System.UriFormatException:
        //     baseUri 和 relativeUri 组合形成的 URI 是空的或只包含空格。 - 或 - baseUri 和 relativeUri 组合形成的
        //     URI 中指定的方案无效。 - 或 - baseUri 和 relativeUri 组合所形成的 URI 包含太多的斜杠。 - 或 - baseUri 和
        //     relativeUri 组合形成的 URI 中指定的密码无效。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的主机名无效。
        //     - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的文件名无效。 - 或 - baseUri 和 relativeUri
        //     组合形成的 URI 中指定的用户名无效。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的主机名或证书颁发机构名不能以反斜杠结尾。
        //     - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的端口号无效或无法分析。 - 或 - baseUri 和 relativeUri
        //     组合形成的 URI 的长度超过 65519 个字符。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中指定的方案的长度超过
        //     1023 个字符。 - 或 - baseUri 和 relativeUri 组合形成的 URI 中存在无效的字符序列。 - 或 - uriString 中指定的
        //     MS-DOS 路径必须以 c:\\ 开头。
        [Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
        public Uri(Uri baseUri, string relativeUri, bool dontEscape);
        //
        // 摘要:
        //     从 System.Runtime.Serialization.SerializationInfo 和 System.Runtime.Serialization.StreamingContext
        //     类的指定实例初始化 System.Uri 类的新实例。
        //
        // 参数:
        //   serializationInfo:
        //     System.Runtime.Serialization.SerializationInfo 类的实例,包含序列化新的 System.Uri 实例所需的信息。
        //
        //   streamingContext:
        //     System.Runtime.Serialization.StreamingContext 类的实例,包含与新的 System.Uri 实例关联的序列化流的源。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     serializationInfo 参数包含 null URI。
        //
        //   T:System.UriFormatException:
        //     包含 serializationInfo 参数包含一个空的 URI。 - 或 - 指定的方案形式不正确。 请参见 System.Uri.CheckSchemeName(System.String)。
        //     - 或 - 该 URI 包含太多斜杠。 - 或 - URI 中指定的密码无效。 - 或 - URI 中指定的主机名无效。 - 或 - URI 中指定的文件名无效。
        //     - 或 - URI 中指定的用户名无效。 - 或 - URI 中指定的主机名或证书颁发机构名不能以反斜杠结尾。 - 或 - URI 中指定的端口号无效或无法分析。
        //     - 或 - URI 的长度超过 65519 个字符。 - 或 - URI 中指定的方案的长度超过 1023 个字符。 - 或 - URI 中存在无效的字符序列。
        //     - 或 - URI 中指定的 MS-DOS 路径必须以 c:\\ 开头。
        protected Uri(SerializationInfo serializationInfo, StreamingContext streamingContext);

        //
        // 摘要:
        //     获取用问号 (?) 分隔的 System.Uri.AbsolutePath 和 System.Uri.Query 属性。
        //
        // 返回结果:
        //     一个 System.String,它包含用问号 (?) 分隔的 System.Uri.AbsolutePath 和 System.Uri.Query 属性。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string PathAndQuery { get; }
        //
        // 摘要:
        //     获取文件名的本地操作系统表示形式。
        //
        // 返回结果:
        //     一个 System.String,包含文件名的本地操作系统表示形式。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string LocalPath { get; }
        //
        // 摘要:
        //     获取服务器的域名系统 (DNS) 主机名或 IP 地址和端口号。
        //
        // 返回结果:
        //     包含此实例所表示的 URI 的证书颁发机构部分的 System.String。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string Authority { get; }
        //
        // 摘要:
        //     获取 URI 中指定的主机名的类型。
        //
        // 返回结果:
        //     System.UriHostNameType 枚举的成员。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public UriHostNameType HostNameType { get; }
        //
        // 摘要:
        //     获取一个值,该值指示 URI 的端口值是否为此方案的默认值。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果 System.Uri.Port 属性中的值是此方案的默认端口,则该值为 true;否则为 false。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public bool IsDefaultPort { get; }
        //
        // 摘要:
        //     获取一个值,该值指示指定的 System.Uri 是否为文件 URI。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果 System.Uri 是文件 URI,则该值为 true;否则为 false。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public bool IsFile { get; }
        //
        // 摘要:
        //     获取一个值,该值指示指定的 System.Uri 是否引用了本地主机。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果此 System.Uri 引用了本地主机,则该值为 true;否则为 false。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public bool IsLoopback { get; }
        //
        // 摘要:
        //     获取包含构成指定 URI 的路径段的数组。
        //
        // 返回结果:
        //     一个 System.String 数组,包含构成指定 URI 的路径段。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string[] Segments { get; }
        //
        // 摘要:
        //     获取一个值,该值指示 System.Uri 实例是否为绝对 URI。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果 System.Uri 实例是绝对 URI,则该值为 true;否则为 false。
        public bool IsAbsoluteUri { get; }
        //
        // 摘要:
        //     获取此实例的主机部分。
        //
        // 返回结果:
        //     一个包含主机名的 System.String。 这通常是服务器的 DNS 主机名或 IP 地址。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string Host { get; }
        //
        // 摘要:
        //     获取此 URI 的端口号。
        //
        // 返回结果:
        //     一个包含此 URI 的端口号的 System.Int32 值。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public int Port { get; }
        //
        // 摘要:
        //     获取指定 URI 中包括的任何查询信息。
        //
        // 返回结果:
        //     一个 System.String,包含指定 URI 中包括的任何查询信息。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string Query { get; }
        //
        // 摘要:
        //     获取转义 URI 片段。
        //
        // 返回结果:
        //     一个包含任意 URI 片段信息的 System.String。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string Fragment { get; }
        //
        // 摘要:
        //     获取此 URI 的方案名称。
        //
        // 返回结果:
        //     一个 System.String,包含此 URI 的方案(已转换为小写形式)。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string Scheme { get; }
        //
        // 摘要:
        //     获取传递给 System.Uri 构造函数的原始 URI 字符串。
        //
        // 返回结果:
        //     包含构造此实例时指定的同一 URI,则为 System.String;否则,为 System.String.Empty。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string OriginalString { get; }
        //
        // 摘要:
        //     获得可安全用于 DNS 解析的未转义主机名。
        //
        // 返回结果:
        //     一个包含适用于 DNS 解析的未转义 URI 主机部分的 System.String;或者,如果原始的未转义主机字符串已适用于解析,则为原始的未转义主机字符串。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string DnsSafeHost { get; }
        //
        // 摘要:
        //     获取绝对 URI。
        //
        // 返回结果:
        //     包含整个 URI 的 System.String。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string AbsoluteUri { get; }
        //
        // 摘要:
        //     获取一个值,该值指示指定的 System.Uri 是否为统一命名约定 (UNC) 路径。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果 System.Uri 是 UNC 路径,则该值为 true;否则为 false。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public bool IsUnc { get; }
        //
        // 摘要:
        //     获取 URI 的绝对路径。
        //
        // 返回结果:
        //     包含资源的绝对路径的 System.String。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string AbsolutePath { get; }
        //
        // 摘要:
        //     获取用户名、密码或其他与指定 URI 关联的特定于用户的信息。
        //
        // 返回结果:
        //     一个 System.String,包含与该 URI 关联的用户信息。 返回值不包括“@”字符,该字符是一个保留字符,用于分隔 URI 的用户信息部分。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public string UserInfo { get; }
        //
        // 摘要:
        //     指示 URI 字符串在创建 System.Uri 实例之前已被完全转义。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果在创建 System.Uri 实例时 dontEscape 参数设置为 true,则该值为 true;否则为
        //     false。
        public bool UserEscaped { get; }

        //
        // 摘要:
        //     确定指定的主机名是否为有效的 DNS 名称。
        //
        // 参数:
        //   name:
        //     要验证的主机名。 可以是 IPv4 或 IPv6 地址或 Internet 主机名。
        //
        // 返回结果:
        //     指示主机名类型的 System.UriHostNameType。 如果无法确定主机名的类型,或者主机名为 null 或零长度字符串,则此方法返回 System.UriHostNameType.Unknown。
        public static UriHostNameType CheckHostName(string name);
        //
        // 摘要:
        //     确定指定的方案名是否有效。
        //
        // 参数:
        //   schemeName:
        //     要验证的方案名。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果方案名有效,则该值为 true;否则为 false。
        public static bool CheckSchemeName(string schemeName);
        //
        // 摘要:
        //     使用指定的比较规则比较两个 URI 的指定部分。
        //
        // 参数:
        //   uri1:
        //     第一个 System.Uri。
        //
        //   uri2:
        //     第二个 System.Uri。
        //
        //   partsToCompare:
        //     System.UriComponents 值的按位组合,它指定要比较的 uri1 和 uri2 的部分。
        //
        //   compareFormat:
        //     System.UriFormat 值中的一个,它指定在比较 URI 部分时使用的字符转义。
        //
        //   comparisonType:
        //     System.StringComparison 值之一。
        //
        // 返回结果:
        //     一个 System.Int32 值,指示进行比较的 System.Uri 部分之间的词法关系。 值 含义 小于零 uri1 小于 uri2。 零 uri1
        //     等于 uri2。 大于零 uri1 大于 uri2。
        //
        // 异常:
        //   T:System.ArgumentException:
        //     comparisonType 不是有效的 System.StringComparison 值。
        public static int Compare(Uri uri1, Uri uri2, UriComponents partsToCompare, UriFormat compareFormat, StringComparison comparisonType);
        //
        // 摘要:
        //     将字符串转换为它的转义表示形式。
        //
        // 参数:
        //   stringToEscape:
        //     要转义的字符串。
        //
        // 返回结果:
        //     一个 System.String,包含 stringToEscape 的转义表示形式。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     stringToEscape 为 null。
        //
        //   T:System.UriFormatException:
        //     stringToEscape 的长度超过 32766 个字符。
        public static string EscapeDataString(string stringToEscape);
        //
        // 摘要:
        //     将 URI 字符串转换为它的转义表示形式。
        //
        // 参数:
        //   stringToEscape:
        //     要转义的字符串。
        //
        // 返回结果:
        //     一个 System.String,包含 stringToEscape 的转义表示形式。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     stringToEscape 为 null。
        //
        //   T:System.UriFormatException:
        //     stringToEscape 的长度超过 32766 个字符。
        public static string EscapeUriString(string stringToEscape);
        //
        // 摘要:
        //     获取十六进制数字的十进制值。
        //
        // 参数:
        //   digit:
        //     要转换的十六进制数字(0-9、a-f、A-F)。
        //
        // 返回结果:
        //     一个 System.Int32 值,包含与指定的十六进制数字对应的介于 0 到 15 之间的数字。
        //
        // 异常:
        //   T:System.ArgumentException:
        //     digit 不是有效的十六进制数字(0-9、a-f、A-F)。
        public static int FromHex(char digit);
        //
        // 摘要:
        //     将指定的字符转换它的等效十六进制字符。
        //
        // 参数:
        //   character:
        //     要转换为十六进制表示形式的字符。
        //
        // 返回结果:
        //     指定字符的十六进制表示形式。
        //
        // 异常:
        //   T:System.ArgumentOutOfRangeException:
        //     character 大于 255。
        public static string HexEscape(char character);
        //
        // 摘要:
        //     将字符的指定十六进制表示形式转换为字符。
        //
        // 参数:
        //   pattern:
        //     字符的十六进制表示形式。
        //
        //   index:
        //     pattern 中字符的十六进制表示形式开始的位置。
        //
        // 返回结果:
        //     用十六进制编码表示的位于 index 的字符。 如果位于 index 的字符不是用十六进制编码的,则返回位于 index 的字符。 index 的值递增以指向跟在返回的字符后面的字符。
        //
        // 异常:
        //   T:System.ArgumentOutOfRangeException:
        //     index 小于 0,或大于等于 pattern 中的字符数。
        public static char HexUnescape(string pattern, ref int index);
        //
        // 摘要:
        //     确定指定的字符是否为有效的十六进制数字。
        //
        // 参数:
        //   character:
        //     要验证的字符。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果字符是有效的十六进制数字,则该值为 true;否则为 false。
        public static bool IsHexDigit(char character);
        //
        // 摘要:
        //     确定字符串中的一个字符是否为十六进制编码。
        //
        // 参数:
        //   pattern:
        //     要检查的字符串。
        //
        //   index:
        //     检查十六进制编码的 pattern 中的位置。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果 pattern 在指定位置进行了十六进制编码,则该值为 true;否则为 false。
        public static bool IsHexEncoding(string pattern, int index);
        //
        // 摘要:
        //     通过尝试用字符串构造一个 URI 来指示字符串是否为格式良好的,并确保字符串不需要进一步转义。
        //
        // 参数:
        //   uriString:
        //     用于尝试构造 System.Uri 的字符串。
        //
        //   uriKind:
        //     uriString 中的 System.Uri 的类型。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果该字符串格式正确,则该值为 true ;否则为 false。
        public static bool IsWellFormedUriString(string uriString, UriKind uriKind);
        //
        // 摘要:
        //     使用指定的 System.String 实例和 System.UriKind 创建一个新的 System.Uri。
        //
        // 参数:
        //   uriString:
        //     表示 System.Uri 的 System.String。
        //
        //   uriKind:
        //     URI 的类型。
        //
        //   result:
        //     此方法返回时,包含构造的 System.Uri。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果成功创建了 System.Uri,则该值为 true;否则为 false。
        public static bool TryCreate(string uriString, UriKind uriKind, out Uri result);
        //
        // 摘要:
        //     使用指定的基和相对 System.Uri 实例创建一个新的 System.String。
        //
        // 参数:
        //   baseUri:
        //     基 System.Uri。
        //
        //   relativeUri:
        //     要添加到基 System.Uri 的相对 System.Uri(表示为 System.String)。
        //
        //   result:
        //     此方法返回时,包含从 baseUri 和 relativeUri 构造的 System.Uri。 该参数未经初始化即被传递。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果成功创建了 System.Uri,则该值为 true;否则为 false。
        public static bool TryCreate(Uri baseUri, string relativeUri, out Uri result);
        //
        // 摘要:
        //     使用指定基和相对 System.Uri 实例创建一个新的 System.Uri。
        //
        // 参数:
        //   baseUri:
        //     基 System.Uri。
        //
        //   relativeUri:
        //     要添加到基 System.Uri 的相对 System.Uri。
        //
        //   result:
        //     此方法返回时,包含从 baseUri 和 relativeUri 构造的 System.Uri。 该参数未经初始化即被传递。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果成功创建了 System.Uri,则该值为 true;否则为 false。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     baseUri 为 null。
        public static bool TryCreate(Uri baseUri, Uri relativeUri, out Uri result);
        //
        // 摘要:
        //     将字符串转换为它的非转义表示形式。
        //
        // 参数:
        //   stringToUnescape:
        //     要恢复原义的字符串。
        //
        // 返回结果:
        //     一个 System.String,包含 stringToUnescape 的非转义表示形式。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     stringToUnescape 为 null。
        public static string UnescapeDataString(string stringToUnescape);
        //
        // 摘要:
        //     将字符串转换为它的转义表示形式。
        //
        // 参数:
        //   str:
        //     要转换为它的转义表示形式的字符串。
        //
        // 返回结果:
        //     字符串的转义表示形式。
        [Obsolete("The method has been deprecated. Please use GetComponents() or static EscapeUriString() to escape a Uri component or a string. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected static string EscapeString(string str);
        //
        // 摘要:
        //     获取一个值,该值指示是否应该转义指定的字符。
        //
        // 参数:
        //   character:
        //     要测试的 System.Char。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果应该转义指定的字符,则该值为 true;否则为 false。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected static bool IsExcludedCharacter(char character);
        //
        // 摘要:
        //     比较两个 System.Uri 实例是否相等。
        //
        // 参数:
        //   comparand:
        //     与当前实例相比较的 System.Uri 实例或 URI 标识符。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果两个实例表示相同的 URI,则该值为 true;否则为 false。
        public override bool Equals(object comparand);
        //
        // 摘要:
        //     使用特殊字符的指定转义,获取当前实例的指定部分。
        //
        // 参数:
        //   components:
        //     System.UriComponents 值的按位组合,它指定当前实例中要返回到调用方的部分。
        //
        //   format:
        //     System.UriFormat 值中的一个,它控制如何转义特殊字符。
        //
        // 返回结果:
        //     一个包含这些部分的 System.String。
        //
        // 异常:
        //   T:System.ArgumentOutOfRangeException:
        //     uriComponents 不是有效 System.UriComponents 值的组合。
        //
        //   T:System.InvalidOperationException:
        //     当前 System.Uri 不是绝对 URI。 相对 URI 不能和此方法一起使用。
        public string GetComponents(UriComponents components, UriFormat format);
        //
        // 摘要:
        //     获取 URI 的哈希代码。
        //
        // 返回结果:
        //     一个 System.Int32,其中包含为此 URI 生成的哈希值。
        public override int GetHashCode();
        //
        // 摘要:
        //     获取 System.Uri 实例的指定部分。
        //
        // 参数:
        //   part:
        //     System.UriPartial 值之一,指定要返回的 URI 部分的结尾。
        //
        // 返回结果:
        //     一个 System.String,其中包含 System.Uri 实例的指定部分。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     当前 System.Uri 实例不是绝对实例。
        //
        //   T:System.ArgumentException:
        //     指定的 part 无效。
        public string GetLeftPart(UriPartial part);
        //
        // 摘要:
        //     确定当前的 System.Uri 实例是否为指定 System.Uri 实例的基。
        //
        // 参数:
        //   uri:
        //     要测试的指定 System.Uri 实例。
        //
        // 返回结果:
        //     如果当前 System.Uri 实例是 uri 的基,则为 true;否则,为 false。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     uri 为 null。
        public bool IsBaseOf(Uri uri);
        //
        // 摘要:
        //     指示用于构造此 System.Uri 的字符串是否格式良好,以及它是否不需要进一步转义。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果该字符串格式正确,则该值为 true;否则为 false。
        public bool IsWellFormedOriginalString();
        //
        // 摘要:
        //     确定两个 System.Uri 实例之间的差异。
        //
        // 参数:
        //   toUri:
        //     与当前 URI 进行比较的 URI。
        //
        // 返回结果:
        //     如果此 URI 实例与 toUri 的主机名和方案相同,则此方法返回一个表示相对 URI 的 System.String。若将此相对 URI 追加到当前
        //     URI 实例,就可以得到 toUri 参数。 如果主机名或方案不同,则此方法返回一个表示 toUri 参数的 System.String。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     toUri 为 null。
        //
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此方法仅对绝对 URI 有效。
        [Obsolete("The method has been deprecated. Please use MakeRelativeUri(Uri uri). http://go.microsoft.com/fwlink/?linkid=14202")]
        public string MakeRelative(Uri toUri);
        //
        // 摘要:
        //     确定两个 System.Uri 实例之间的差异。
        //
        // 参数:
        //   uri:
        //     与当前 URI 进行比较的 URI。
        //
        // 返回结果:
        //     如果此 URI 实例与uri的主机名和方案相同,则此方法返回一个相对 System.Uri。若将此相对 URI 追加到当前 URI 实例,就可以得到 uri。
        //     如果主机名或方案不同,则此方法返回一个表示 uri 参数的 System.Uri。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     uri 为 null。
        //
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。
        public Uri MakeRelativeUri(Uri uri);
        //
        // 摘要:
        //     获取指定的 System.Uri 实例的规范化字符串表示形式。
        //
        // 返回结果:
        //     一个 System.String 实例,它包含 System.Uri 实例的非转义规范化表示形式。 除了 #、? 和 %,所有字符均为非转义字符。
        public override string ToString();
        //
        // 摘要:
        //     将内部存储的 URI 转换为规范化格式。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此实例代表一个相对 URI,而此方法仅对绝对 URI 有效。
        //
        //   T:System.UriFormatException:
        //     URI 的格式不正确。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual void Canonicalize();
        //
        // 摘要:
        //     调用此方法不起任何作用。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual void CheckSecurity();
        //
        // 摘要:
        //     将路径部分中的任何不安全字符或保留字符转换为对应的十六进制字符表示形式。
        //
        // 异常:
        //   T:System.UriFormatException:
        //     从构造函数传来的 URI 无效。 如果 URI 字符太多或 URI 是相对的,则会发生这种异常。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual void Escape();
        //
        // 摘要:
        //     返回序列化当前实例所需的数据。
        //
        // 参数:
        //   serializationInfo:
        //     一个 System.Runtime.Serialization.SerializationInfo 对象,它包含序列化 System.Uri 所需的信息。
        //
        //   streamingContext:
        //     System.Runtime.Serialization.StreamingContext 对象,该对象包含与 System.Uri 相关联的序列化流的源和目标。
        protected void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext);
        //
        // 摘要:
        //     获取一个值,该值指示字符是否在文件系统名称中无效。
        //
        // 参数:
        //   character:
        //     要测试的 System.Char。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果指定的字符无效,则该值为 true;否则为 false。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual bool IsBadFileSystemCharacter(char character);
        //
        // 摘要:
        //     获取一个值,该值指示指定的字符是否为保留字符。
        //
        // 参数:
        //   character:
        //     要测试的 System.Char。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果指定的字符是保留字符,则该值为 true;否则为 false。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual bool IsReservedCharacter(char character);
        //
        // 摘要:
        //     分析当前实例的 URI 以确保它包含有效 URI 所需的所有部分。
        //
        // 异常:
        //   T:System.UriFormatException:
        //     从构造函数传来的 URI 无效。
        [Obsolete("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual void Parse();
        //
        // 摘要:
        //     转换指定的字符串,方法是将任何转义序列替换为相应的未转义表示形式。
        //
        // 参数:
        //   path:
        //     要转换的 System.String。
        //
        // 返回结果:
        //     一个 System.String,包含 path 参数的非转义值。
        [Obsolete("The method has been deprecated. Please use GetComponents() or static UnescapeDataString() to unescape a Uri component or a string. http://go.microsoft.com/fwlink/?linkid=14202")]
        protected virtual string Unescape(string path);

        //
        // 摘要:
        //     确定两个 System.Uri 实例是否具有相同的值。
        //
        // 参数:
        //   uri1:
        //     要与 uri2 比较的 System.Uri 实例。
        //
        //   uri2:
        //     要与 uri1 进行比较的 System.Uri 实例。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果这两个 System.Uri 实例是等效的,则该值为 true;否则为 false。
        public static bool operator ==(Uri uri1, Uri uri2);
        //
        // 摘要:
        //     确定两个 System.Uri 实例是否具有不同的值。
        //
        // 参数:
        //   uri1:
        //     要与 uri2 比较的 System.Uri 实例。
        //
        //   uri2:
        //     要与 uri1 进行比较的 System.Uri 实例。
        //
        // 返回结果:
        //     一个 System.Boolean 值。如果两个 System.Uri 实例不相等,则该值为 true;否则为 false。 如果两者中任意一个参数为 null,则此方法返回
        //     true。
        public static bool operator !=(Uri uri1, Uri uri2);
    }
}

2、

2.返回顶部
3.返回顶部
4.返回顶部
5.返回顶部
6.返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/storebook/p/12584338.html

时间: 2024-10-31 10:20:10

System.Uri.cs的相关文章

System.UriKind.cs

ylbtech-System.UriKind.cs 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll #endregion namespace System { /

System.Uri类 - 获取Url的各种属性,文件名,参数,域名,端口等等

System.Uri类用于处理Uri地址信息,常用到它的地方有,相对Uri地址转绝对Uri地址,获取Uri的某部分信息等等,可以说是一个非常有用的类. 一.属性 AbsolutePath 获取 URI 的绝对路径. AbsoluteUri   获取绝对 URI. Authority  获取服务器的域名系统 (DNS) 主机名或 IP 地址和端口号. DnsSafeHost 获得可安全用于 DNS 解析的未转义主机名. Fragment 获取转义 URI 片段. Host  获取此实例的主机部分.

UAP开发错误之The given System.Uri cannot be converted into a Windows.Foundation.Uri(windows phone背景更换)

今天博主在开发一款windows phone应用时,希望实现app背景的更换,思路很简单.使用ApplicationDataContainer容器存储我的图片路径,每次载入应用时读取这个路径以决定我用什么背景,然后在更换背景时改变这个容器的值就好了.相关代码如下: ApplicationDataContainer localsetting = ApplicationData.Current.LocalSettings;             localsetting.Values["Backg

C#利用System.Uri转URL为绝对地址的方法

本文实例讲述了C#利用System.Uri转URL为绝对地址的方法.分享给大家供大家参考.具体分析如下: 在使用ASPOSE.Word生成Word文档时可以通过InsertHtml(html)来将图文信息写入Word文档(图片内嵌),但要求html里图片的src是绝对全路径,所以需要对html进行转化. 获取html可以来自数据库数据或者通过网络抓取,得到之后使用System.Uri来进行替换即可. 示例如下: Uri uri = new Uri(http://www.baidu.com); U

System.UriFormat.cs

ylbtech-System.UriFormat.cs 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll #endregion namespace System {

System.TimeSpan.cs

ylbtech-System.TimeSpan.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll #endregion using System.Gl

System.TypeCode.cs

ylbtech-System.TypeCode.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll #endregion using System.

System.RuntimeFieldHandle.cs

ylbtech-System.RuntimeFieldHandle.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll #endregion usi

System.Cloneable.cs

ylbtech-System.Cloneable.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll #endregion using System