Skip to main content
HttpProductInfoHeaderValueCollection class

Represents the value of the User-Agent HTTP header on an HTTP request.

Syntax


var httpProductInfoHeaderValueCollection = userAgent;

public sealed class HttpProductInfoHeaderValueCollection : IList<HttpProductInfoHeaderValue>,
    IEnumerable<HttpProductInfoHeaderValue>,
    IStringable

Public NotInheritable Class HttpProductInfoHeaderValueCollection
    Implements IList(Of HttpProductInfoHeaderValue), _
    IEnumerable(Of HttpProductInfoHeaderValue), _
    IStringable

public ref class HttpProductInfoHeaderValueCollection sealed : IVector<HttpProductInfoHeaderValue>,
    IIterable<HttpProductInfoHeaderValue>,
    IStringable

Members

The HttpProductInfoHeaderValueCollection class has these types of members:

Methods

The HttpProductInfoHeaderValueCollection class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

MethodDescription
Add [C#, VB]Adds a new item to the collection.
Append [C++, JavaScript]Adds a new HttpProductInfoHeaderValue item to the end of the collection.
Clear Removes all objects from the collection.
Contains [C#, VB]Determines whether an element is in the collection.
CopyTo [C#, VB]Copies the elements of the collection to an array, starting at a particular array index.
First [C++, JavaScript]Retrieves an iterator to the first HttpProductInfoHeaderValue item in the collection.
GetAt [C++, JavaScript]Returns the HttpProductInfoHeaderValue at the specified index in the collection.
GetMany [C++, JavaScript]Retrieves the HttpProductInfoHeaderValue items that start at the specified index in the collection.
GetView [C++, JavaScript]Returns an immutable view of the HttpProductInfoHeaderValueCollection.
IndexOf [C++, JavaScript]Retrieves the index of an HttpProductInfoHeaderValue in the collection.
IndexOf [C#, VB]Determines the index of a specific item in the collection.
Insert [C#, VB]Inserts an item into the collection at the specified index.
InsertAt [C++, JavaScript]Inserts an HttpProductInfoHeaderValue into the collection at the specified index.
ParseAdd Parses and adds an entry to the HttpProductInfoHeaderValueCollection.
Remove [C#, VB]Removes the first occurrence of a specific object from the collection.
RemoveAt [C++, JavaScript]Removes the entry at the specified index from the HttpMethodHeaderValueCollection.
RemoveAt [C#, VB]Removes the element at the specified index of the collection.
RemoveAtEnd [C++, JavaScript]Removes the last HttpProductInfoHeaderValue item from the collection.
ReplaceAll [C++, JavaScript]Replaces all the HttpProductInfoHeaderValue items in the collection with the specified HttpProductInfoHeaderValue items.
SetAt [C++, JavaScript]Sets the HttpProductInfoHeaderValue at the specified index in the collection.
ToString Returns a string that represents the current HttpProductInfoHeaderValueCollection object.
TryParseAdd Tries to parse and add the specified item to the HttpProductInfoHeaderValueCollection.

 

Properties

The HttpProductInfoHeaderValueCollection class has these properties.

PropertyAccess typeDescription

Count [C#, VB]

Read-only

Gets the number of elements contained in the collection.

IsReadOnly [C#, VB]

Read-only

Gets a value indicating whether the collection is read-only.

Item [C#, VB]

Read/write

Gets or sets the element at the specified index.

Size [C++, JavaScript]

Read-only

Gets the number of HttpProductInfoHeaderValue objects in the collection.

 

Remarks

The HttpProductInfoHeaderValueCollection represents the value of the User-Agent HTTP header on an HTTP request.

The HttpProductInfoHeaderValueCollection is a collection of HttpProductInfoHeaderValue objects used for product information in the HTTP User-Agent header.

The User-Agent header contains information about the user agent originating the request. The User-Agent header can contain multiple product tokens and comments identifying the user agent and any sub-products.

The UserAgent property on the HttpRequestHeaderCollection returns an HttpProductInfoHeaderValueCollection object.

Examples

The following sample code shows a method to get and set the User-Agent HTTP header on an HttpRequestMessage object using the properties and methods on the HttpProductInfoHeaderValueCollection and HttpProductInfoHeaderValue classes.


using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;

        public void DemonstrateHeaderRequestUserAgent() {
            var request = new HttpRequestMessage();
            bool parsedOk = false;

            // Set the header with a string.
            parsedOk = request.Headers.UserAgent.TryParseAdd("testprogram/1.0");

            // Set the header with a strong type.
            request.Headers.UserAgent.Add(new HttpProductInfoHeaderValue("myprogram", "2.2"));

            // Get the strong type out 
            foreach (var value in request.Headers.UserAgent) {
                System.Diagnostics.Debug.WriteLine("One of the UserAgent values: {0} / {1}", value.Product.Name, value.Product.Version);
            }

            // The ToString() is useful for diagnostics, too.
            System.Diagnostics.Debug.WriteLine("The UserAgent ToString() results: {0}", request.Headers.UserAgent.ToString());
        }

Requirements (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0

Namespace

Windows.Web.Http.Headers
Windows::Web::Http::Headers [C++]

Metadata

Windows.Foundation.UniversalApiContract.winmd

Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8.1 [Windows Store apps, desktop apps]

Minimum supported server

Windows Server 2012 R2 [Windows Store apps, desktop apps]

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]

Namespace

Windows.Web.Http.Headers
Windows::Web::Http::Headers [C++]

Metadata

Windows.winmd

Attributes

[ DualApiPartition()]
[ MarshalingBehavior(Agile)]
[ Threading(Both)]
[ Version(0x06030000)]

See also

HttpProductInfoHeaderValue
HttpRequestHeaderCollection
IIterable(HttpProductInfoHeaderValue)
IStringable
IVector(HttpProductInfoHeaderValue)
Object
UserAgent