Condividi tramite


IVectorView<T> Interfaccia

Definizione

Rappresenta una visualizzazione non modificabile in un vettore.

.NET Questa interfaccia appare come codice .NET come System.Collections.Generic.IReadOnlyList<T> a causa della proiezione del linguaggio .NET. In ogni caso in cui un tipo di Windows Runtime ha implementato IVectorView<T>, il codice .NET può usare invece le API di IReadOnlyList<T>.

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)

Parametri di tipo

T
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (è stato introdotto in v1.0)

Commenti

Per le raccolte di lettura/scrittura, l'interfaccia IVectorView<T> è ancora rilevante perché il metodo IVector.GetView restituisce un'istanza di IVectorView<T> .

Se la raccolta sottostante cambia, i metodi e le proprietà dell'interfaccia IVectorView<T> possono generare un'eccezione.

C++/WinRT Se la raccolta sottostante è stata modificata, i metodi e le proprietà possono generare un'eccezione hresult_changed_state .

C++/CX Se la raccolta sottostante è stata modificata, i metodi e le proprietà possono generare un'eccezione ChangedStateException .

Durante la programmazione con .NET, questa interfaccia è nascosta e gli sviluppatori devono usare l'interfaccia T> IReadOnlyList<se vogliono implementare un tipo vettore/elenco di sola lettura. In ogni caso in cui un tipo di Windows Runtime ha implementato IVectorView<T>, il codice .NET può usare invece le API di IReadOnlyList<T>. Sono inclusi tutti gli scenari esistenti Windows Runtime API, ad esempio l'uso delle API di Windows Runtime componenti implementati originariamente nelle estensioni del componente Visual C++ (C++/CX) da un'app C# o Visual Basic.

Funzioni di estensione C++/WinRT

Nota

Le funzioni di estensione esistono nei tipi di proiezione C++/WinRT per determinate API di Windows Runtime. Ad esempio, winrt::Windows::Foundation::IAsyncAction è il tipo di proiezione C++/WinRT per IAsyncAction. Le funzioni di estensione non fanno parte della superficie ABI (Application Binary Interface) dei tipi di Windows Runtime effettivi, quindi non sono elencati come membri delle API Windows Runtime. Ma puoi chiamarli da qualsiasi progetto C++/WinRT. Vedi Funzioni C++/WinRT che estendono Windows Runtime API.

auto begin() const;

Restituisce un iteratore al primo elemento della raccolta, da usare in algoritmi C++, ad esempio cicli basati su for intervalli.

auto end() const;

Restituisce un iteratore a un oltre l'ultimo elemento della raccolta, da usare in algoritmi C++, ad esempio cicli basati su for intervalli.

Ereditarietà dell'interfaccia

IVectorView eredita IIterable. I tipi che implementano IVectorView implementano anche i membri dell'interfaccia di IIterable. Analogamente, se si usa .NET, è disponibile il supporto per IEnumerable<T>.

Proprietà

Size

Ottiene il numero di elementi nella visualizzazione vettoriale.

Metodi

GetAt(UInt32)

Restituisce l'elemento in corrispondenza dell'indice specificato nella visualizzazione vettoriale.

GetMany(UInt32, T[])

Recupera più elementi dalla visualizzazione vettoriale a partire dall'indice specificato.

C++/WinRT La sintassi corretta per la proiezione del linguaggio C++/WinRT è uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);.

IndexOf(T, UInt32)

Recupera l'indice di un elemento specificato nella visualizzazione vettoriale.

Si applica a