IVectorView<T> Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una vista inmutable en un vector.
.RED Esta interfaz parece código de .NET como System.Collections.Generic.IReadOnlyList<T> debido a la proyección del lenguaje .NET. En cualquier caso en el que un tipo de Windows Runtime haya implementado IVectorView<T>, el código .NET puede usar las API de IReadOnlyList<T> en su lugar.
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
- Implementaciones
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (se introdujo en la versión v1.0)
|
Comentarios
Para las colecciones de lectura y escritura, la interfaz IVectorView<T> sigue siendo relevante, ya que el método IVector.GetView devuelve una instancia de IVectorView<T> .
Si cambia la colección subyacente, los métodos y las propiedades de la interfaz IVectorView<T> pueden producir una excepción.
C++/WinRT Si la colección subyacente ha cambiado, los métodos y las propiedades pueden producir una
hresult_changed_state
excepción.
C++/CX Si la colección subyacente ha cambiado, los métodos y las propiedades pueden producir una
ChangedStateException
excepción.
Al programar con .NET, esta interfaz está oculta y los desarrolladores deben usar la interfaz T> IReadOnlyList<si quieren implementar un tipo de lista o vector de solo lectura. En cualquier caso en el que un tipo de Windows Runtime haya implementado IVectorView<T>, el código .NET puede usar las API de IReadOnlyList<T> en su lugar. Esto incluye todas las API de Windows Runtime existentes y también escenarios como el uso de las API de Windows Runtime componentes implementados originalmente en extensiones de componentes de Visual C++ (C++/CX) desde una aplicación de C# o Visual Basic.
Funciones de extensión de C++/WinRT
Nota:
Existen funciones de extensión en los tipos de proyección de C++/WinRT para determinadas API de Windows Runtime. Por ejemplo, winrt::Windows::Foundation::IAsyncAction es el tipo de proyección de C++/WinRT para IAsyncAction. Las funciones de extensión no forman parte de la superficie de la interfaz binaria de la aplicación (ABI) de los tipos de Windows Runtime reales, por lo que no se muestran como miembros de las API de Windows Runtime. Pero puedes llamarlos desde cualquier proyecto de C++/WinRT. Consulta Funciones de C++/WinRT que amplían las API de Windows Runtime.
auto begin() const;
Devuelve un iterador al primer elemento de la colección, para su uso en algoritmos de C++, como bucles basados en for
intervalos.
auto end() const;
Devuelve un iterador a un pasado el último elemento de la colección, para su uso en algoritmos de C++, como bucles basados en for
intervalos.
Herencia de interfaz
IVectorView hereda IIterable. Los tipos que implementan IVectorView también implementan los miembros de interfaz de IIterable. De forma similar, si usa .NET, hay compatibilidad con IEnumerable<T>.
Propiedades
Size |
Obtiene el número de elementos de la vista vectorial. |
Métodos
GetAt(UInt32) |
Devuelve el elemento en el índice especificado en la vista vectorial. |
GetMany(UInt32, T[]) |
Recupera varios elementos de la vista vectorial que comienzan en el índice especificado.
|
IndexOf(T, UInt32) |
Recupera el índice de un elemento especificado en la vista vectorial. |