UriTemplate.BindByPosition(Uri, String[]) Yöntem

Tanım

Şablondan yeni bir URI ve parametre değerleri dizisi oluşturur.

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

Parametreler

baseAddress
Uri

Uri Temel adresi içeren bir.

values
String[]

Parametre değerleri.

Döndürülenler

Uri

Yeni Uri bir örnek.

Örnekler

Aşağıdaki örnekte öğesinin nasıl çağrılacakları gösterilmektedir 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çıklamalar

Parametre değerleri soldan sağa konuma bağlıdır. İlk parametre değeri şablonda bulunan ilk değişkenin yerini alır, ikinci parametre değeri ikinci değişkenin yerini alır ve bu şekilde devam eder. Bu yönteme geçirilen değişkenler kaçılır.

Not

values parametresinde geçirilen parametre sayısı şablondaki değişken sayısıyla eşleşmelidir. Aksi takdirde, bir FormatException oluşturulur.

Not

Oluşturulan URI'nin bunu oluşturmak için kullanılan şablonla eşleşmesini engelleyen parametre değerleri dizisi içinde metin geçirmek mümkündür. Bu tür metin örnekleri şunlardır: '/', '.','..', '*', '{' ve '}'. Aşağıdaki kod bunu gösterir.

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

Şunlara uygulanır