ResourceQualifierVectorView ResourceQualifierVectorView ResourceQualifierVectorView ResourceQualifierVectorView Class

Definition

An unchangeable view into a vector of ResourceQualifier objects.

public : sealed class ResourceQualifierVectorView : IIterable<ResourceQualifier>, IVectorView<ResourceQualifier>
public sealed class ResourceQualifierVectorView : IEnumerable<ResourceQualifier>, IReadOnlyList<ResourceQualifier>
Public NotInheritable Class ResourceQualifierVectorView Implements IEnumerable<ResourceQualifier>, IReadOnlyList<ResourceQualifier>
// This class does not provide a public constructor.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Examples

This example is based on scenario 13 of the Application resources and localization sample. See the sample for the more complete solution.

// Create a ResourceContext.
var resourceContext = new Windows.ApplicationModel.Resources.Core.ResourceContext();

// Set the specific context for lookup of resources.
var qualifierValues = resourceContext.qualifierValues;
qualifierValues["language"] = "en-US";
qualifierValues["contrast"] = "standard";
qualifierValues["scale"] = "140";
qualifierValues["homeregion"] = "021"; // Northern America

// Resources actually reside within Scenario13 Resource Map.
var resourceIds = [
    '/Scenario13/languageOnly',
    '/Scenario13/scaleOnly',
    '/Scenario13/contrastOnly',
    '/Scenario13/homeregionOnly',
    '/Scenario13/multiDimensional',
];

var output = { str: "" };
resourceIds.forEach(function (resourceId) {
    renderNamedResource(resourceId, resourceContext, output);
});

function renderNamedResource(resourceId, resourceContext, output) {
    output.str += "Resource ID " + resourceId + ":\n";
    // Lookup the resource in the mainResourceMap (the one for this package).
    var namedResource = Windows.ApplicationModel.Resources.Core.ResourceManager.current.mainResourceMap.lookup(resourceId);

    // Return a ResourceCandidateVectorView of all possible resources candidates
    // resolved against the context in order of appropriateness.
    var resourceCandidates = namedResource.resolveAll(resourceContext);

    resourceCandidates.forEach(function (candidate, index) {
        renderCandidate(candidate, index, output);
    });
    output.str += "\n";
}

function renderCandidate(candidate, index, output) {
    // Get all the various qualifiers for the candidate (such as language, scale, contrast).
    candidate.qualifiers.forEach(function (qualifier) {
        output.str += "qualifierName: " + qualifier.qualifierName + "\n";
        output.str += "qualifierValue: " + qualifier.qualifierValue + "\n";
        output.str += "isDefault: ";
        output.str += (qualifier.isDefault) ? "true\n" : "false\n";
        output.str += "isMatch: ";
        output.str += (qualifier.isMatch) ? "true\n" : "false\n";
        output.str += "score: " + qualifier.score + "\n";
        output.str += "\n";
    });
}

Remarks

Collection member lists

For JavaScript, ResourceQualifierVectorView has the members shown in the member lists. In addition, ResourceQualifierVectorView supports a length property, members of Array.prototype, and using an index to access items.

Enumerating the collection in C# or Microsoft Visual Basic

A ResourceQualifierVectorView is enumerable, so you can use language-specific syntax such as foreach in C# to enumerate the items in the collection. The compiler does the type-casting for you and you won't need to cast to IEnumerable<ResourceQualifier> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast to IEnumerable with a ResourceQualifier constraint.

Properties

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Gets the element at the specified index in the read-only list.

This member is not implemented in C++
T this[int index] { get; }
ReadOnly Property Item(index As Integer) As T
T this[int index] { get; }
Parameters
index

The zero-based index of the element to get.

Value
T T T T

The element at the specified index in the read-only list.

Size Size Size Size

Gets the number of ResourceQualifier objects in the view.

public : unsigned int Size { get; }
This member is not implemented in C#
This member is not implemented in VB.Net
var uint = resourceQualifierVectorView.size;
Value
unsigned int uint uint uint

The number of objects in the view.

Methods

First() First() First() First()

Returns an iterator to enumerate the items in the view.

public : IIterator<ResourceQualifier> First()
This member is not implemented in C#
This member is not implemented in VB.Net
var iIterator = resourceQualifierVectorView.first();
Returns

The iterator. The current position of the iterator is index 0, or the end of the view if the view is empty.

GetAt(UInt32) GetAt(UInt32) GetAt(UInt32) GetAt(UInt32)

Returns the ResourceQualifier at the specified index in the view.

public : ResourceQualifier GetAt(unsigned int index)
This member is not implemented in C#
This member is not implemented in VB.Net
var resourceQualifier = resourceQualifierVectorView.getAt(index);
Parameters
index
unsigned int UInt32 UInt32 UInt32

The zero-based index of the ResourceQualifier in the view to return.

Returns

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumerator that iterates through the collection.

This member is not implemented in C++
IEnumerator<T> GetEnumerator()
Function GetEnumerator As IEnumerator(Of T)
IEnumerator<T> GetEnumerator()
Returns

An enumerator that can be used to iterate through the collection.

GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[]) GetMany(UInt32, ResourceQualifier[])

Returns the ResourceQualifier objects that start at the specified index in the view.

public : unsigned int GetMany(unsigned int startIndex, ResourceQualifier[] items)
This member is not implemented in C#
This member is not implemented in VB.Net
var uint = resourceQualifierVectorView.getMany(startIndex, items);
Parameters
startIndex
unsigned int UInt32 UInt32 UInt32

The zero-based index of the start of the objects in the view to return.

items
ResourceQualifier[] ResourceQualifier[] ResourceQualifier[] ResourceQualifier[]

The objects in the view that start at startIndex.

Returns
unsigned int uint uint uint

The number of objects returned.

IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32) IndexOf(ResourceQualifier, UInt32)

Returns the index of a specified ResourceQualifier in the view.

public : Platform::Boolean IndexOf(ResourceQualifier value, unsigned int index)
This member is not implemented in C#
This member is not implemented in VB.Net
var bool = resourceQualifierVectorView.indexOf(value, index);
Parameters
index
unsigned int UInt32 UInt32 UInt32

The zero-based index of the object, if found. The method returns zero if the object is not found.

Returns
Platform::Boolean bool bool bool

A Boolean that is TRUE if the object is found, otherwise FALSE if the object is not found.

See Also