UriTemplate.BindByPosition(Uri, String[]) 方法

定义

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

public:
 Uri ^ BindByPosition(Uri ^ baseAddress, ... cli::array <System::String ^> ^ values);
public Uri BindByPosition (Uri baseAddress, params string[] values);
member this.BindByPosition : Uri * string[] -> Uri
Public Function BindByPosition (baseAddress As Uri, ParamArray values As String()) As Uri

参数

baseAddress
Uri

一个包含基址的 Uri

values
String[]

参数值。

返回

Uri

Uri 实例。

示例

下面的示例演示如何调用 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");
Dim template As UriTemplate = New UriTemplate("weather/{state}/{city}?forecast={day}")
Dim prefix As Uri = New Uri("http://localhost")

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

注解

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

备注

传入值参数的参数个数必须与模板中的变量个数相符。 如果不符,则会引发 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

适用于