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

包含基址的 A 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")

注解

参数值由从左到右的位置绑定。 第一个参数值替换模板中找到的第一个变量,第二个参数值替换第二个变量,依此等。 传递给此方法的变量将转义。

注释

值参数中传递的参数数必须与模板中的变量数匹配。 否则,将引发 a 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

适用于