Compartilhar via


IVectorView<T> Interface

Definição

Representa uma exibição imutável em um vetor.

.NET Essa interface aparece no código .NET como System.Collections.Generic.IReadOnlyList<T> devido à projeção de linguagem .NET. Em qualquer caso em que um tipo de Windows Runtime tenha implementado IVectorView<T>, o código .NET pode usar as APIs de 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)

Parâmetros de tipo

T
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduzida na v1.0)

Comentários

Para coleções de leitura e gravação, a interface T> IVectorView<ainda é relevante, pois o método IVector.GetView retorna uma instância T> IVectorView<.

Se a coleção subjacente for alterada, métodos e propriedades da interface T> IVectorView<poderão gerar uma exceção.

C++/WinRT Se a coleção subjacente tiver sido alterada, métodos e propriedades poderão gerar uma hresult_changed_state exceção.

C++/CX Se a coleção subjacente tiver sido alterada, métodos e propriedades poderão gerar uma ChangedStateException exceção.

Ao programar com o .NET, essa interface fica oculta e os desenvolvedores devem usar a interface T IReadOnlyList<> se quiserem implementar um tipo de vetor/lista somente leitura. Em qualquer caso em que um tipo de Windows Runtime tenha implementado IVectorView<T>, o código .NET pode usar as APIs de IReadOnlyList<T>. Isso inclui todas as API de Windows Runtime existentes e também cenários, como o uso das APIs de componentes Windows Runtime originalmente implementados em extensões de componente do Visual C++ (C++/CX) de um aplicativo C# ou Visual Basic.

Funções de extensão C++/WinRT

Observação

Existem funções de extensão nos tipos de projeção C++/WinRT para determinadas APIs de Windows Runtime. Por exemplo, winrt::Windows::Foundation::IAsyncAction é o tipo de projeção C++/WinRT para IAsyncAction. As funções de extensão não fazem parte da superfície da ABI (interface binária do aplicativo) dos tipos de Windows Runtime reais, portanto, elas não são listadas como membros das APIs de Windows Runtime. Mas você pode chamá-los de dentro de qualquer projeto C++/WinRT. Consulte Funções C++/WinRT que estendem apIs de Windows Runtime.

auto begin() const;

Retorna um iterador para o primeiro elemento da coleção, para uso em algoritmos C++, como loops baseados em for intervalo.

auto end() const;

Retorna um iterador para um após o último elemento da coleção, para uso em algoritmos C++, como loops baseados em for intervalo.

Herança de interface

IVectorView herda IIterable. Os tipos que implementam IVectorView também implementam os membros da interface do IIterable. Da mesma forma, se você estiver usando o .NET, haverá suporte para IEnumerable<T>.

Propriedades

Size

Obtém o número de itens na exibição de vetor.

Métodos

GetAt(UInt32)

Retorna o item no índice especificado na exibição de vetor.

GetMany(UInt32, T[])

Recupera vários itens da exibição de vetor começando no índice fornecido.

C++/WinRT A sintaxe correta para a projeção da linguagem C++/WinRT é uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);.

IndexOf(T, UInt32)

Recupera o índice de um item especificado na exibição de vetor.

Aplica-se a