System.UriTemplate.BindByPosition 方法

方法描述

利用模板和参数值数组创建一个新的 URI。

语法定义(C# System.UriTemplate.BindByPosition 方法 的用法)

public Uri BindByPosition(
	Uri baseAddress,
	params string[] values
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
baseAddress System-Uri 一个包含基址的 Uri。
values System-String[] 参数值。
返回值 System.Uri 新 Uri 实例。

提示和注释

参数值按位置从左至右绑定。第一个参数值会替换在模板中找到的第一个变量,第二个参数值会替换第二个变量,依此类推。传递给此方法的变量都会经过转义。

注意

传入值参数的参数个数必须与模板中的变量个数相符。如果不符,则会引发 FormatException。

注意

您可以在参数值数组中传入文本,以阻止生成的 URI 与用于生成它的模板匹配。此类文本包括“/”、“.”、“..”、“*”、“{”和“}”等。下面的代码对此进行了演示。

UriTemplate template = new UriTemplate("far/{bat}/baz");

Uri uri = new Uri("http://localhost/Base");

Uri result = template.BindByPosition(uri, "."); // returns Base/form/baz

Uri result = template.BindByPosition(uri, ".."); // returns Base/baz

Uri result = template.BindByPosition(uri, "x/y"); // returns Base/form/x/y/baz

Uri result = template.BindByPosition(uri, "{x}"); // returns Base/form/{x}/baz

Uri result = template.BindByPosition(uri, "*"); // returns Base/form/*/baz

System.UriTemplate.BindByPosition 方法例子

下面的示例演示如何调用 BindByPosition(Uri, String[])。

UriTemplate template = new UriTemplate("weather/{state}/{city}?forecast={day}");
Uri prefix = new Uri("http://localhost");

Uri positionalUri = template.BindByPosition(prefix, "Washington", "Redmond", "Today");

异常

异常 异常描述

命名空间

namespace: System

程序集: System.ServiceModel(在 System.ServiceModel.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。