UriTemplateMatch.Data Property

Definition

Gets or sets the object associated with the UriTemplateMatch instance.

public:
 property System::Object ^ Data { System::Object ^ get(); void set(System::Object ^ value); };
public object Data { get; set; }
member this.Data : obj with get, set
Public Property Data As Object

Property Value

An Object instance.

Examples

The following code shows how to access the Data property.

UriTemplate template = new UriTemplate("weather/{state}/{city}?forecast=today");
Uri baseAddress = new Uri("http://localhost");
Uri fullUri = new Uri("http://localhost/weather/WA/Seattle?forecast=today");

Console.WriteLine("Matching {0} to {1}", template.ToString(), fullUri.ToString());

// Match a URI to a template
UriTemplateMatch results = template.Match(baseAddress, fullUri);
if (results != null)
{
    Object data = results.Data;
}
Dim prefix As New Uri("http://localhost/")

' Create some templates:
Dim weatherByCity As New UriTemplate("weather/ state}/ city}")
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 UriTemplateTable = New UriTemplateTable(prefix)

'Add the templates to the template table along with some associated data
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByCity, "weatherByCity"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(weatherByState, "weatherByState"))
table.KeyValuePairs.Add(New KeyValuePair(Of UriTemplate, Object)(traffic, "traffic"))

'Match a URI to a template
Dim candidateUri As New Uri("http://localhost/weather/WA/Redmond")
Dim results As UriTemplateMatch = table.MatchSingle(candidateUri)

If (results IsNot Nothing) Then

    'Get the data associated with the matching template
    Dim data As String = CType(results.Data, String)
    Console.WriteLine("Matching data is  0}", Data)
End If

Remarks

When you add a UriTemplate to a UriTemplateTable you associate data with the template. This value is application specific; no particular semantics are associated with this value. When Match(Uri) is called and a match is found the data associated with the matching template is returned in the Data property.

Applies to