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")

注釈

パラメーター値は、左から右の位置でバインドされます。 最初のパラメーター値はテンプレートで見つかった最初の変数を置き換え、2 番目のパラメーター値は 2 番目の変数を置き換えます。 このメソッドに渡された変数はエスケープされます。

Note

values パラメーターに渡されるパラメーターの数は、テンプレート内の変数の数と一致している必要があります。 そうでない場合は、 FormatException がスローされます。

Note

生成された 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

適用対象