UriTemplateTable Sınıf

Tanım

İlişkili bir nesne kümesini UriTemplate temsil eden bir sınıf.

public ref class UriTemplateTable
public class UriTemplateTable
type UriTemplateTable = class
Public Class UriTemplateTable
Devralma
UriTemplateTable

Örnekler

Aşağıdaki kod, oluşturma UriTemplateTable, doldurma ve bunu bir adayla Urieşleştirmek için kullanma işlemini gösterir.

Uri prefix = new Uri("http://localhost/");

//Create a series of templates
UriTemplate weatherByCity  = new UriTemplate("weather/{state}/{city}");
UriTemplate weatherByCountry = new UriTemplate("weather/{country}/{village}");
UriTemplate weatherByState = new UriTemplate("weather/{state}");
UriTemplate traffic = new UriTemplate("traffic/*");
UriTemplate wildcard = new UriTemplate("*");

//Create a template table
UriTemplateTable table = new UriTemplateTable(prefix);
//Add each template to the table with some associated data
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByCity, "weatherByCity"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByCountry, "weatherByCountry"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(weatherByState, "weatherByState"));
table.KeyValuePairs.Add(new KeyValuePair<UriTemplate, Object>(traffic, "traffic"));

table.MakeReadOnly(true);
Console.WriteLine("KeyValuePairs:");
foreach (KeyValuePair<UriTemplate, Object> keyPair in table.KeyValuePairs)
{
    Console.WriteLine($"{keyPair.Key}, {keyPair.Value}");
}

Console.WriteLine();

//Call MatchSingle to retrieve some match results:
ICollection<UriTemplateMatch> results = null;
Uri weatherInSeattle = new Uri("http://localhost/weather/Washington/Seattle");

results = table.Match(weatherInSeattle);
if( results != null)
{
    Console.WriteLine("Matching templates:");
    foreach (UriTemplateMatch match in results)
    {
        Console.WriteLine(match.Template);
    }
}
Dim prefix As New Uri("http://localhost/")

' Create a series of templates
Dim weatherByCity As New UriTemplate("weather/ state}/ city}")
Dim weatherByCountry As New UriTemplate("weather/ country}/ village}")
Dim weatherByState As New UriTemplate("weather/ state}")
Dim traffic As New UriTemplate("traffic/*")
Dim wildcard As New UriTemplate("*")

' Create a template table
Dim table As New UriTemplateTable(prefix)
' Add each template to the table with some associated data
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByCity, "weatherByCity"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByCountry, "weatherByCountry"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByState, "weatherByState"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(traffic, "traffic"))

table.MakeReadOnly(True)
Console.WriteLine("KeyValuePairs:")
For Each keyPair As KeyValuePair(Of UriTemplate, Object) In table.KeyValuePairs
    Console.WriteLine("     0},  1}", keyPair.Key, keyPair.Value)
Next

Console.WriteLine()

' Call MatchSingle to retrieve some match results:
Dim results As System.Collections.Generic.ICollection(Of UriTemplateMatch) = Nothing
Dim weatherInSeattle As Uri = New Uri("http://localhost/weather/Washington/Seattle")

results = table.Match(weatherInSeattle)
If results IsNot Nothing Then
    Console.WriteLine("Matching templates:")
    For Each match As UriTemplateMatch In results
        Console.WriteLine("    0}", match.Template)
    Next
End If

Açıklamalar

A UriTemplateTable , geliştiricinin UriTemplate seçtiği bir nesneye bağlı ilişkilendirici bir nesne kümesidir. Aday Tekdüzen Kaynak Tanımlayıcılarını (URI) kümedeki şablonlarla eşleştirmenize ve eşleşen şablonlarla ilişkili verileri almanıza olanak tanır. yöntemi çağrılana MakeReadOnly(Boolean) kadar içeriği UriTemplateTable değiştirilebilir ve bu sırada aşağıdaki doğrulama türlerinden biri gerçekleşir:

  • geçirme falseolarak çağrıldığındaMakeReadOnly(Boolean), UriTemplateTable tablonun yapısal olarak eşdeğer birden çok şablon içermediğinden emin olmak için denetimler yapılır. Bu tür şablonlar bulursa bir özel durum oluşturur. Bu doğrulama türü, gelen bir URI ile yalnızca bir şablonun eşleştiğinden emin olmak istediğinizde birlikte MatchSingle(Uri) kullanılır.

  • geçişi trueolarak çağrıldığındaMakeReadOnly(Boolean), yapısal olarak eşdeğer birden çok şablon içinde UriTemplateTablebulunabilir. Ancak, şablonlardaki sorgu dizeleri belirsiz olmamalıdır; özdeş sorgu dizelerine izin verilir. Belirsiz sorgu dizeleri hakkında daha fazla bilgi için bkz . UriTemplate ve UriTemplateTable.

Oluşturucular

UriTemplateTable()

UriTemplateTable sınıfının yeni bir örneğini başlatır.

UriTemplateTable(IEnumerable<KeyValuePair<UriTemplate,Object>>)

Belirtilen anahtar/değer çiftleri koleksiyonuyla sınıfının yeni bir örneğini UriTemplateTable başlatır.

UriTemplateTable(Uri)

Belirtilen temel adresle sınıfının yeni bir örneğini UriTemplateTable başlatır.

UriTemplateTable(Uri, IEnumerable<KeyValuePair<UriTemplate,Object>>)

Belirtilen temel adres ve anahtar/değer çiftleri koleksiyonu ile sınıfının yeni bir örneğini UriTemplateTable başlatır.

Özellikler

BaseAddress

Örneğin temel adresini UriTemplateTable alır veya ayarlar.

IsReadOnly

öğesinin salt okunur olup olmadığını UriTemplateTable belirten bir değer alır.

KeyValuePairs

Nesnelerden ve ilişkili verilerinden oluşan anahtar/değer çiftleri UriTemplate koleksiyonunu alır.

OriginalBaseAddress

Özgün temel adresi alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MakeReadOnly(Boolean)

Salt UriTemplateTable okunur yapar.

Match(Uri)

Bir adayı Uri ile eşleştirmeyi UriTemplateTabledener.

MatchSingle(Uri)

Bir adayı Uri ile eşleştirmeyi UriTemplateTabledener.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır