TimelineMarkerCollection Classe

Definição

Representa uma coleção de objetos TimelineMarker que podem ser acessados individualmente pelo índice. Uma TimelineMarkerCollection é uma lista ordenada em que a ordem é determinada pelo valor Time de cada item TimelineMarker contido na coleção. Para obter mais informações sobre como isso afeta a API de coleção, consulte Comentários.

public ref class TimelineMarkerCollection sealed : IIterable<TimelineMarker ^>, IVector<TimelineMarker ^>
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class TimelineMarkerCollection final : IIterable<TimelineMarker>, IVector<TimelineMarker>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class TimelineMarkerCollection final : IIterable<TimelineMarker>, IVector<TimelineMarker>
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class TimelineMarkerCollection : IEnumerable<TimelineMarker>, IList<TimelineMarker>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class TimelineMarkerCollection : IEnumerable<TimelineMarker>, IList<TimelineMarker>
Public NotInheritable Class TimelineMarkerCollection
Implements IEnumerable(Of TimelineMarker), IList(Of TimelineMarker)
Herança
Object Platform::Object IInspectable TimelineMarkerCollection
Atributos
Implementações

Requisitos do Windows

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

Comentários

API de coleção para TimelineMarkerCollection

Uma TimelineMarkerCollection é uma lista ordenada em que a ordem é determinada pelo valor Time de cada item TimelineMarker contido na coleção. A API de coleção para TimelineMarkerCollection processa internamente cada novo item adicionado à coleção e a adiciona em um local de índice que corresponde a uma ordenação atualizada de todos os valores time para todos os itens TimelineMarker na coleção.

A intenção de fazer com que TimelineMarkerCollection sempre mantenha uma ordem baseada em tempo é para que a enumeração/iteração da coleção forneça os valores timelineMarker na ordem que corresponde à Posição de um ativo de mídia que está sendo reproduzido e à ordem em que os eventos MarkerReached seriam acionados. Caso contrário, se a coleção não fosse ordenada por tempo, teria sido necessário classificar a coleção por tempo antes do uso.

  • Se você chamar Append (para C++), o item poderá ser adicionado ao início, ao meio ou ao final da lista ordenada, dependendo do valor time do TimelineMarker que você está adicionando.
  • Se você chamar InsertAt (para C++), o parâmetro de índice será ignorado. O item TimelineMarker é adicionado em uma posição de índice que mantém a ordem da coleção por valores time .
  • Se você usar o método GetAt (para C++) para ler um valor, o índice estará correto, com base em como o item foi adicionado pela lógica interna. Mas como você não controlou diretamente essa lógica, geralmente é uma ideia melhor usar IndexOf (para C++) para encontrar um TimelineMarker específico na lista ordenada.
  • Se você usar o método SetAt (para C++) para definir um valor, excluirá um valor que estava anteriormente nesse índice, mas a coleção será reordenado para manter a ordenação do valor Time , portanto, o novo TimelineMarker que você adicionou pode não estar no índice para o qual você estava definindo. Isso provavelmente é uma má ideia, porque você não terá certeza de qual item será excluído. Recomendamos que você não use o indexador para definir valores.
  • RemoveAt removerá o item indexado especificado, mas não removerá possíveis itens duplicados quando o índice da coleção mudar para os valores de Tempo restantes. Recomendamos que você não use RemoveAt.

Enumerando a coleção em C# ou Microsoft Visual Basic

Uma TimelineMarkerCollection é enumerável, portanto, você pode usar a sintaxe específica da linguagem, como foreach em C# para enumerar os itens na coleção. O compilador faz a conversão de tipo para você e você não precisará converter IEnumerable<TimelineMarker> explicitamente. Se você precisar converter explicitamente, por exemplo, se quiser chamar GetEnumerator, converta para IEnumerable<T> com uma restrição TimelineMarker .

Construtores

TimelineMarkerCollection()

Inicializa uma nova instância da classe TimelineMarkerCollection .

Propriedades

Size

Obtém o tamanho (contagem) da coleção.

Métodos

Append(TimelineMarker)

Adiciona um novo item à coleção.

Clear()

Remove todos os itens da coleção.

First()

Retorna um iterador para os itens na coleção.

GetAt(UInt32)

Retorna o item localizado no índice especificado.

GetMany(UInt32, TimelineMarker[])

Recupera vários elementos em uma única passagem pelo iterador.

GetView()

Obtém uma exibição imutável na coleção.

IndexOf(TimelineMarker, UInt32)

Recupera o índice do item especificado.

InsertAt(UInt32, TimelineMarker)

Insere o item especificado.

RemoveAt(UInt32)

Remove o item no índice especificado.

RemoveAtEnd()

Remove o último item da coleção.

ReplaceAll(TimelineMarker[])

Inicialmente limpa a coleção e insere a matriz fornecida como novos itens.

SetAt(UInt32, TimelineMarker)

Define o valor no índice especificado como o valor TimelineMarker especificado.

Aplica-se a

Confira também