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, bir UriTemplateTableöğesinin nasıl oluşturulacağını, doldurulacağını ve bir adayla Urieşleşecek şekilde nasıl kullanılacağını 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şkili bir nesne kümesidir. Aday Tekdüzen Kaynak Tanımlayıcılarını (URI) kümedeki şablonlarla eşleştirmenizi ve eşleşen şablonlarla ilişkili verileri almanızı sağlar. yöntemi çağrılana UriTemplateTable kadar içindekiler MakeReadOnly(Boolean) değiştirilebilir ve bu sırada aşağıdaki doğrulama türlerinden biri gerçekleşir:

  • geçiş MakeReadOnly(Boolean)olarak çağrıldığındafalse, 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.

  • içinde geçirme olarak çağrıldığındaMakeReadOnly(Boolean), içinde yapısal olarak eşdeğer birden çok şablon bulunabilirtrue.UriTemplateTable 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

Name Description
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, IEnumerable<KeyValuePair<UriTemplate,Object>>)

Belirtilen temel adres ve 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.

Özellikler

Name Description
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

Nesneleri ve ilişkili verilerini içeren anahtar/değer çiftleri UriTemplate koleksiyonunu alır.

OriginalBaseAddress

Özgün temel adresi alır.

Yöntemler

Name Description
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()

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

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

UriTemplateTable Salt 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 Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır