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")
注解
参数值按位置从左至右绑定。 第一个参数值会替换在模板中找到的第一个变量,第二个参数值会替换第二个变量,依此类推。 传递给此方法的变量都会经过转义。
备注
传入值参数的参数个数必须与模板中的变量个数相符。 如果不符,则会引发 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