IVectorView<T> Antarmuka

Definisi

Mewakili tampilan yang tidak dapat diubah ke dalam vektor.

.BERSIH Antarmuka ini tampaknya kode .NET sebagai System.Collections.Generic.IReadOnlyList<T> karena proyeksi bahasa .NET. Dalam kasus apa pun di mana jenis Windows Runtime telah menerapkan IVectorView<T>, kode .NET dapat menggunakan API IReadOnlyList<T> sebagai gantinya.

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)

Jenis parameter

T
Atribut
Penerapan

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (diperkenalkan dalam v1.0)

Keterangan

Untuk koleksi baca-tulis, antarmuka IVectorView<T> masih relevan, karena metode IVector.GetView mengembalikan instans IVectorView<T> .

Jika pengumpulan yang mendasar berubah, metode, dan properti antarmuka IVectorView<T> dapat melemparkan pengecualian.

C++/WinRT Jika koleksi yang mendasar telah berubah, metode dan properti dapat memberikan hresult_changed_state pengecualian.

C++/CX Jika koleksi yang mendasar telah berubah, metode dan properti dapat memberikan ChangedStateException pengecualian.

Saat pemrograman dengan .NET, antarmuka ini disembunyikan dan pengembang harus menggunakan antarmuka IReadOnlyList<T> jika mereka ingin menerapkan jenis vektor/daftar baca-saja. Dalam kasus apa pun di mana jenis Windows Runtime telah menerapkan IVectorView<T>, kode .NET dapat menggunakan API IReadOnlyList<T> sebagai gantinya. Ini termasuk semua WINDOWS Runtime API yang ada dan juga skenario seperti menggunakan API komponen Windows Runtime yang awalnya diterapkan dalam ekstensi komponen Visual C++ (C++/CX) dari aplikasi C# atau Visual Basic.

Fungsi ekstensi C++/WinRT

Catatan

Fungsi ekstensi ada pada jenis proyeksi C++/WinRT untuk API Windows Runtime tertentu. Misalnya, winrt::Windows::Foundation::IAsyncAction adalah jenis proyeksi C++/WinRT untuk IAsyncAction. Fungsi ekstensi bukan bagian dari permukaan antarmuka biner aplikasi (ABI) dari jenis Windows Runtime yang sebenarnya, sehingga tidak terdaftar sebagai anggota API Windows Runtime. Tetapi Anda dapat memanggilnya dari dalam proyek C++/WinRT apa pun. Lihat fungsi C++/WinRT yang memperluas WINDOWS Runtime API.

auto begin() const;

Mengembalikan iterator ke elemen pertama koleksi, untuk digunakan dalam algoritma C++ seperti perulangan berbasis for rentang.

auto end() const;

Mengembalikan iterator ke satu melewati elemen terakhir koleksi, untuk digunakan dalam algoritma C++ seperti perulangan berbasis for rentang.

Pewarisan antarmuka

IVectorView mewarisi IIterable. Jenis yang mengimplementasikan IVectorView juga mengimplementasikan anggota antarmuka IIterable. Demikian pula, jika Anda menggunakan .NET, ada dukungan untuk IEnumerable<T>.

Properti

Size

Mendapatkan jumlah item dalam tampilan vektor.

Metode

GetAt(UInt32)

Mengembalikan item pada indeks yang ditentukan dalam tampilan vektor.

GetMany(UInt32, T[])

Mengambil beberapa item dari tampilan vektor yang dimulai pada indeks yang diberikan.

C++/WinRT Sintaks yang benar untuk proyeksi bahasa C++/WinRT adalah uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);.

IndexOf(T, UInt32)

Mengambil indeks item tertentu dalam tampilan vektor.

Berlaku untuk