ResourceCandidateVectorView ResourceCandidateVectorView ResourceCandidateVectorView ResourceCandidateVectorView Class

Definition

Represents a collection of ResourceCandidate objects.

public : sealed class ResourceCandidateVectorView : IIterable<ResourceCandidate>, IVectorView<ResourceCandidate>
public sealed class ResourceCandidateVectorView : IEnumerable<ResourceCandidate>, IReadOnlyList<ResourceCandidate>
Public NotInheritable Class ResourceCandidateVectorView Implements IEnumerable<ResourceCandidate>, IReadOnlyList<ResourceCandidate>
// 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, ResourceCandidateVectorView has the members shown in the member lists. In addition, ResourceCandidateVectorView 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 ResourceCandidateVectorView 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<ResourceCandidate> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast to IEnumerable with a ResourceCandidate 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 ResourceCandidate objects in the set.

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

The number of ResourceCandidate objects in the set.

Methods

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

Returns an iterator to enumerate the items in the set of ResourceCandidate objects.

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

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

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

Returns the ResourceCandidate at the specified index in the set.

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

The zero-based index of the ResourceCandidate in the set 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, ResourceCandidate[]) GetMany(UInt32, ResourceCandidate[]) GetMany(UInt32, ResourceCandidate[]) GetMany(UInt32, ResourceCandidate[])

Returns the ResourceCandidate objects that start at the specified index in the set.

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

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

items
ResourceCandidate[] ResourceCandidate[] ResourceCandidate[] ResourceCandidate[]

The ResourceCandidate objects in the set that start at startIndex.

Returns
unsigned int uint uint uint

The number of ResourceCandidate objects returned.

IndexOf(ResourceCandidate, UInt32) IndexOf(ResourceCandidate, UInt32) IndexOf(ResourceCandidate, UInt32) IndexOf(ResourceCandidate, UInt32)

Returns the index of a specified ResourceCandidate in the set.

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

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

Returns
Platform::Boolean bool bool bool

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

See Also