UriTemplateTable Osztály

Definíció

Egy asszociatív objektumkészletet UriTemplate képviselő osztály.

public ref class UriTemplateTable
public class UriTemplateTable
type UriTemplateTable = class
Public Class UriTemplateTable
Öröklődés
UriTemplateTable

Példák

Az alábbi kód bemutatja, hogyan hozhat létre, UriTemplateTabletölthet fel, és használhatja egy jelöltnek Urivaló egyeztetésre.

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

Megjegyzések

Az A UriTemplateTable a fejlesztő által választott objektumhoz kötött asszociatív objektumkészlet UriTemplate . Lehetővé teszi az egységes erőforrás-azonosítók (URI-k) egyezését a készlet sablonjaival, és lekérheti az egyező sablonokhoz társított adatokat. A metódus meghívásáig UriTemplateTable módosítható a MakeReadOnly(Boolean) tartalom, amely időpontban az alábbi típusú érvényesítési műveletek egyikét hajtja végre:

  • Ha MakeReadOnly(Boolean) átengedésnek falsehívjuk, a UriTemplateTable tábla nem tartalmaz-e több szerkezetileg egyenértékű sablont. Ha ilyen sablonokat talál, kivételt jelez. Ez az ellenőrzéstípus akkor MatchSingle(Uri) használatos, ha azt szeretné, hogy csak egy sablon feleljen meg egy bejövő URI-nak.

  • Ha MakeReadOnly(Boolean) átengedésnek truenevezik, több szerkezetileg egyenértékű sablon is szerepelhet a fájlban UriTemplateTable. A sablonokban lévő lekérdezési sztringek azonban nem lehetnek egyértelműek; azonos lekérdezési sztringek engedélyezettek. A nem egyértelmű lekérdezési sztringekről további információt az UriTemplate és az UriTemplateTable című témakörben talál.

Konstruktorok

Name Description
UriTemplateTable()

Inicializálja a UriTemplateTable osztály új példányát.

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

Inicializálja az UriTemplateTable osztály új példányát a kulcs/érték párok megadott gyűjteményével.

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

Inicializálja az osztály új példányát a UriTemplateTable megadott alapcímmel és kulcs/érték párok gyűjteményével.

UriTemplateTable(Uri)

Inicializálja az osztály új példányát UriTemplateTable a megadott alapcímmel.

Tulajdonságok

Name Description
BaseAddress

Lekéri vagy beállítja a példány alapcímét UriTemplateTable .

IsReadOnly

Olyan értéket kap, amely meghatározza, hogy az UriTemplateTable írásvédett-e.

KeyValuePairs

Lekéri az objektumokból és a hozzájuk tartozó adatokból álló UriTemplate kulcs-érték párok gyűjteményét.

OriginalBaseAddress

Lekéri az eredeti alapcímet.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MakeReadOnly(Boolean)

Csak olvasást UriTemplateTable végez.

Match(Uri)

Megkísérli egyeztetni a jelöltet Uri a UriTemplateTable.

MatchSingle(Uri)

Megkísérli egyeztetni a jelöltet Uri a UriTemplateTable.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes: