Partage via


TimelineMarkerCollection Classe

Définition

Représente une collection d’objets TimelineMarker accessibles individuellement par index. Une TimelineMarkerCollection est une liste ordonnée où l’ordre est déterminé par la valeur Time de chaque élément TimelineMarker contenu dans la collection. Pour plus d’informations sur la façon dont cela affecte l’API de collection, consultez Remarques.

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)
Héritage
Object Platform::Object IInspectable TimelineMarkerCollection
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

API de collection pour TimelineMarkerCollection

Une TimelineMarkerCollection est une liste ordonnée où l’ordre est déterminé par la valeur Time de chaque élément TimelineMarker contenu dans la collection. L’API de collection pour TimelineMarkerCollection traite en interne chaque nouvel élément ajouté à la collection et l’ajoute à un emplacement d’index qui correspond à un classement mis à jour de toutes les valeurs Time pour tous les éléments TimelineMarker de la collection.

L’intention d’avoir timelineMarkerCollection toujours maintenir un ordre basé sur l’heure est de sorte que l’énumération/itération de la collection donne les valeurs TimelineMarker dans l’ordre qui correspond à la position d’une ressource multimédia en cours de lecture et à l’ordre dans lequel les événements MarkerReached se déclenchent. Sinon, si la collection n’était pas triée dans le temps, il aurait été nécessaire de trier la collection par heure avant de l’utiliser.

  • Si vous appelez Append (pour C++), l’élément peut être ajouté au début, au milieu ou à la fin de la liste triée, en fonction de la valeur Time du TimelineMarker que vous ajoutez.
  • Si vous appelez InsertAt (pour C++), le paramètre d’index est ignoré. L’élément TimelineMarker est ajouté à une position d’index qui maintient l’ordre de la collection par valeurs Time .
  • Si vous utilisez la méthode GetAt (pour C++) pour lire une valeur, l’index est correct, en fonction de la façon dont l’élément a été ajouté par la logique interne. Mais étant donné que vous ne contrôlez pas directement cette logique, il est généralement préférable d’utiliser IndexOf (pour C++) pour rechercher un TimelineMarker spécifique dans la liste triée.
  • Si vous utilisez la méthode SetAt (pour C++) pour définir une valeur, vous supprimez une valeur qui se trouvait précédemment à cet index, mais la collection se réorganisera pour maintenir l’ordre de la valeur time , de sorte que le nouveau TimelineMarker que vous avez ajouté ne se trouve peut-être pas à l’index sur lequel vous avez défini. C’est probablement une mauvaise idée, car vous ne savez pas quel élément est supprimé. Nous vous recommandons de ne pas utiliser l’indexeur pour définir des valeurs.
  • RemoveAt supprime l’élément indexé spécifié, mais ne supprime pas d’éventuels éléments en double lorsque l’index de collection change pour les valeurs Time restantes. Nous vous recommandons de ne pas utiliser RemoveAt.

Énumération de la collection en C# ou Microsoft Visual Basic

Une TimelineMarkerCollection étant énumérable, vous pouvez utiliser une syntaxe spécifique au langage, telle que foreach en C# pour énumérer les éléments de la collection. Le compilateur effectue le casting de type pour vous et vous n’aurez pas besoin de caster IEnumerable<TimelineMarker> explicitement. Si vous avez besoin de caster explicitement, par exemple si vous souhaitez appeler GetEnumerator, effectuez un cast en IEnumerable<T> avec une contrainte TimelineMarker .

Constructeurs

TimelineMarkerCollection()

Initialise une nouvelle instance de la classe TimelineMarkerCollection.

Propriétés

Size

Obtient la taille (nombre) de la collection.

Méthodes

Append(TimelineMarker)

Ajoute un nouvel élément à la collection.

Clear()

Supprime tous les éléments de la collection.

First()

Retourne un itérateur pour les éléments de la collection.

GetAt(UInt32)

Retourne l’élément situé à l’index spécifié.

GetMany(UInt32, TimelineMarker[])

Récupère plusieurs éléments en un seul passage par l’itérateur.

GetView()

Obtient une vue immuable dans la collection.

IndexOf(TimelineMarker, UInt32)

Récupère l’index de l’élément spécifié.

InsertAt(UInt32, TimelineMarker)

Insère l’élément spécifié.

RemoveAt(UInt32)

Supprime l'élément à l'index spécifié.

RemoveAtEnd()

Supprime le dernier élément de la collection.

ReplaceAll(TimelineMarker[])

Efface initialement la collection, puis insère le tableau fourni en tant que nouveaux éléments.

SetAt(UInt32, TimelineMarker)

Définit la valeur à l’index spécifié sur la valeur TimelineMarker spécifiée.

S’applique à

Voir aussi