UriTemplateTable Klas

Definitie

Een klasse die een associatieve set UriTemplate objecten vertegenwoordigt.

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

Voorbeelden

De volgende code laat zien hoe u een UriTemplateTablebestand maakt, vult en gebruikt om deze te vergelijken met een kandidaat Uri.

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

Opmerkingen

A UriTemplateTable is een associatieve set UriTemplate objecten die zijn gebonden aan een object dat door de ontwikkelaar wordt gekozen. Hiermee kunt u kandidaat-URI's (Uniform Resource Identifiers) vergelijken met de sjablonen in de set en de gegevens ophalen die zijn gekoppeld aan de overeenkomende sjablonen. De inhoud van UriTemplateTable kan worden gewijzigd totdat de MakeReadOnly(Boolean) methode wordt aangeroepen, op welk moment een van de volgende typen validatie plaatsvindt:

  • Wanneer MakeReadOnly(Boolean) wordt aangeroepen dat de falsetabel wordt doorgegeven, controleert u of de UriTemplateTable tabel geen meerdere structureel equivalente sjablonen bevat. Als dergelijke sjablonen worden gevonden, wordt er een uitzondering gegenereerd. Dit type validatie wordt gebruikt in combinatie met wanneer u ervoor wilt zorgen dat slechts één sjabloon overeenkomt met MatchSingle(Uri) een binnenkomende URI.

  • Wanneer MakeReadOnly(Boolean) wordt aangeroepen om door te truegeven, kunnen meerdere structureel equivalente sjablonen worden opgenomen in een UriTemplateTable. Queryreeksen in de sjablonen mogen echter niet dubbelzinnig zijn; identieke queryreeksen zijn toegestaan. Zie UriTemplate en UriTemplateTable voor meer informatie over dubbelzinnige queryreeksen.

Constructors

Name Description
UriTemplateTable()

Initialiseert een nieuw exemplaar van de UriTemplateTable klasse.

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

Initialiseert een nieuw exemplaar van de UriTemplateTable klasse met de opgegeven verzameling sleutel-waardeparen.

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

Initialiseert een nieuw exemplaar van de UriTemplateTable klasse met het opgegeven basisadres en de verzameling sleutel-/waardeparen.

UriTemplateTable(Uri)

Initialiseert een nieuw exemplaar van de UriTemplateTable klasse met het opgegeven basisadres.

Eigenschappen

Name Description
BaseAddress

Hiermee haalt u het basisadres voor het exemplaar op of stelt u dit UriTemplateTable in.

IsReadOnly

Hiermee wordt een waarde opgehaald die aangeeft of de UriTemplateTable waarde alleen-lezen is.

KeyValuePairs

Hiermee haalt u een verzameling sleutel-waardeparen op die bestaan uit UriTemplate objecten en de bijbehorende gegevens.

OriginalBaseAddress

Hiermee haalt u het oorspronkelijke basisadres op.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MakeReadOnly(Boolean)

Maakt het UriTemplateTable kenmerk Alleen-lezen.

Match(Uri)

Pogingen om een kandidaat Uri te koppelen aan de UriTemplateTable.

MatchSingle(Uri)

Pogingen om een kandidaat Uri te koppelen aan de UriTemplateTable.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op