Partage via


IVectorView<T> Interface

Définition

Représente une vue immuable dans un vecteur.

.NET Cette interface apparaît dans le code .NET sous la forme System.Collections.Generic.IReadOnlyList<T> en raison de la projection du langage .NET. Dans tous les cas où un type Windows Runtime a implémenté IVectorView<T>, le code .NET peut utiliser les API de IReadOnlyList<T> à la place.

public interface class IVectorView : IIterable<T>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(3152149068, 45283, 17795, 186, 239, 31, 27, 46, 72, 62, 86)]
template <typename T>
struct IVectorView : IIterable<T>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(3152149068, 45283, 17795, 186, 239, 31, 27, 46, 72, 62, 86)]
public interface IReadOnlyList<T> : IEnumerable<T>
Public Interface IReadOnlyList(Of T)
Implements IEnumerable(Of T)

Paramètres de type

T
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduit dans v1.0)

Remarques

Pour les collections en lecture-écriture, l’interface IVectorView<T> est toujours pertinente, car la méthode IVector.GetView renvoie un IVectorView<T> instance.

Si la collection sous-jacente change, les méthodes et les propriétés de l’interface IVectorView<T> peuvent lever une exception.

C++/WinRT Si la collection sous-jacente a changé, les méthodes et propriétés peuvent lever une hresult_changed_state exception.

C++/CX Si la collection sous-jacente a changé, les méthodes et propriétés peuvent lever une ChangedStateException exception.

Lors de la programmation avec .NET, cette interface est masquée et les développeurs doivent utiliser l’interface T> IReadOnlyList<s’ils souhaitent implémenter un type de vecteur/liste en lecture seule. Dans tous les cas où un type Windows Runtime a implémenté IVectorView<T>, le code .NET peut utiliser les API de IReadOnlyList<T> à la place. Cela inclut toutes les API Windows Runtime existantes, ainsi que des scénarios tels que l’utilisation des API de Windows Runtime composants implémentés à l’origine dans les extensions de composant Visual C++ (C++/CX) à partir d’une application C# ou Visual Basic.

Fonctions d’extension C++/WinRT

Notes

Des fonctions d’extension existent sur les types de projection C++/WinRT pour certaines API Windows Runtime. Par exemple, winrt::Windows::Foundation::IAsyncAction est le type de projection C++/WinRT pour IAsyncAction. Les fonctions d’extension ne font pas partie de la surface de l’interface binaire d’application (ABI) des types Windows Runtime réels. Elles ne sont donc pas répertoriées en tant que membres des API Windows Runtime. Mais vous pouvez les appeler à partir de n’importe quel projet C++/WinRT. Consultez Fonctions C++/WinRT qui étendent Windows Runtime API.

auto begin() const;

Retourne un itérateur au premier élément de la collection, à utiliser dans les algorithmes C++ tels que les boucles basées sur for une plage.

auto end() const;

Retourne un itérateur au-delà du dernier élément de la collection, à utiliser dans les algorithmes C++ tels que les boucles basées sur for une plage.

Héritage de l'interface

IVectorView hérite d’IIterable. Les types qui implémentent IVectorView implémentent également les membres d’interface d’IIterable. De même, si vous utilisez .NET, IEnumerable<T> est pris en charge.

Propriétés

Size

Obtient le nombre d’éléments dans la vue vectorielle.

Méthodes

GetAt(UInt32)

Retourne l’élément à l’index spécifié dans la vue vectorielle.

GetMany(UInt32, T[])

Récupère plusieurs éléments de la vue vectorielle à partir de l’index donné.

C++/WinRT La syntaxe correcte pour la projection du langage C++/WinRT est uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);.

IndexOf(T, UInt32)

Récupère l’index d’un élément spécifié dans la vue vectorielle.

S’applique à