UriTemplateMatch.BoundVariables Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the BoundVariables
collection for the template match.
public:
property System::Collections::Specialized::NameValueCollection ^ BoundVariables { System::Collections::Specialized::NameValueCollection ^ get(); };
public System.Collections.Specialized.NameValueCollection BoundVariables { get; }
member this.BoundVariables : System.Collections.Specialized.NameValueCollection
Public ReadOnly Property BoundVariables As NameValueCollection
Property Value
A NameValueCollection instance that contains template variable values extracted from the URI during the match.
Examples
The following code shows how to access the BoundVariables 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)
{
// BaseUri
Console.WriteLine("BaseUri: {0}", results.BaseUri);
Console.WriteLine("BoundVariables:");
foreach (string variableName in results.BoundVariables.Keys)
{
Console.WriteLine(" {0}: {1}", variableName, results.BoundVariables[variableName]);
}
}
// Code output:
// BaseUri: http://localhost/
// BoundVariables:
// state: wa
// city: seattleConsole.WriteLine("BaseUri: {0}", results.BaseUri);
Dim template As New UriTemplate("weather/ state}/ city}?forecast=today")
Dim baseAddress As New Uri("http://localhost")
Dim fullUri As 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
Dim results As UriTemplateMatch = template.Match(baseAddress, fullUri)
If (results IsNot Nothing) Then
'BaseUri
Console.WriteLine("BaseUri: 0}", results.BaseUri)
Console.WriteLine("BoundVariables:")
For Each variableName As String In results.BoundVariables.Keys
Console.WriteLine(" 0}: 1}", variableName, results.BoundVariables(variableName))
Next
End If
'Code output:
'BaseUri: http://localhost/
'BoundVariables:
' state: wa
' city: seattleConsole.WriteLine("BaseUri: 0}", results.BaseUri)
Remarks
Each template variable name appears as a name in this collection, and the value bound to that variable is stored under the corresponding name. The values in this collection have had all escape sequences translated into actual characters. This name value collection uses a case insensitive search when matching variable names.