IVectorView<T> Schnittstelle

Definition

Stellt eine unveränderliche Sicht in einen Vektor dar.

.NETTO Diese Schnittstelle wird für .NET-Code aufgrund der .NET-Sprachprojektion als System.Collections.Generic.IReadOnlyList<T> angezeigt. In jedem Fall, wenn ein Windows-Runtime Typ IVectorView<T> implementiert hat, kann .NET-Code stattdessen die APIs von IReadOnlyList<T> verwenden.

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)

Typparameter

T
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (eingeführt in v1.0)

Hinweise

Für Sammlungen mit Lese-/Schreibzugriff ist die IVectorView<T-Schnittstelle> weiterhin relevant, da die IVector.GetView-Methode eine IVectorView<T-instance> zurückgibt.

Wenn sich die zugrunde liegende Auflistung ändert, können Methoden und Eigenschaften der IVectorView<T-Schnittstelle> eine Ausnahme auslösen.

C++/WinRT Wenn sich die zugrunde liegende Auflistung geändert hat, können Methoden und Eigenschaften eine hresult_changed_state Ausnahme auslösen.

C++/CX Wenn sich die zugrunde liegende Auflistung geändert hat, können Methoden und Eigenschaften eine ChangedStateException Ausnahme auslösen.

Bei der Programmierung mit .NET ist diese Schnittstelle ausgeblendet, und Entwickler sollten die IReadOnlyList<T-Schnittstelle> verwenden, wenn sie einen schreibgeschützten Vektor-/Listentyp implementieren möchten. In jedem Fall, wenn ein Windows-Runtime Typ IVectorView<T> implementiert hat, kann .NET-Code stattdessen die APIs von IReadOnlyList<T> verwenden. Dies umfasst alle vorhandenen Windows-Runtime-API sowie Szenarien wie die Verwendung der APIs von Windows-Runtime Komponenten, die ursprünglich in Visual C++-Komponentenerweiterungen (C++/CX) aus einer C#- oder Visual Basic-App implementiert wurden.

C++/WinRT-Erweiterungsfunktionen

Hinweis

Erweiterungsfunktionen sind für die C++/WinRT-Projektionstypen für bestimmte Windows-Runtime APIs vorhanden. Beispielsweise ist winrt::Windows::Foundation::IAsyncAction der C++/WinRT-Projektionstyp für IAsyncAction. Die Erweiterungsfunktionen sind nicht Teil der ABI-Oberfläche (Application Binary Interface) der tatsächlichen Windows-Runtime-Typen, sodass sie nicht als Member der Windows-Runtime-APIs aufgeführt werden. Sie können sie jedoch innerhalb eines beliebigen C++/WinRT-Projekts aufrufen. Weitere Informationen finden Sie unter C++/WinRT-Funktionen, die Windows-Runtime-APIs erweitern.

auto begin() const;

Gibt einen Iterator für das erste Element der Auflistung zur Verwendung in C++-Algorithmen zurück, z. B. bereichsbasierte for Schleifen.

auto end() const;

Gibt einen Iterator nach dem letzten Element der Auflistung zur Verwendung in C++-Algorithmen zurück, z. B. bereichsbasierte for Schleifen.

Schnittstellenvererbung

IVectorView erbt IIterable. Typen, die IVectorView implementieren, implementieren auch die Schnittstellenmember von IIterable. Ebenso wird bei Verwendung von .NET IEnumerable<T> unterstützt.

Eigenschaften

Size

Ruft die Anzahl der Elemente in der Vektoransicht ab.

Methoden

GetAt(UInt32)

Gibt das Element am angegebenen Index in der Vektoransicht zurück.

GetMany(UInt32, T[])

Ruft mehrere Elemente aus der Vektoransicht ab dem angegebenen Index ab.

C++/WinRT Die richtige Syntax für die C++/WinRT-Sprachprojektion ist uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);.

IndexOf(T, UInt32)

Ruft den Index eines angegebenen Elements in der Vektoransicht ab.

Gilt für: