UriTemplate.BindByPosition(Uri, String[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从模板和参数值数组创建新的 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
参数
- values
- String[]
参数值。
返回
新 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