Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UriTemplateMatch.BoundVariables Property

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the BoundVariables collection for the template match.

Namespace:   System
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public NameValueCollection BoundVariables { get; }

Property Value

Type: System.Collections.Specialized.NameValueCollection

A NameValueCollection instance that contains template variable values extracted from the URI during the match.

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.

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);

.NET Framework
Available since 3.5
Return to top
Show: