IVectorView<T> Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
|
IndexOf(T, UInt32) |
Recupera o índice de um item especificado na exibição de vetor. |