Поделиться через


TimelineMarkerCollection Класс

Определение

Представляет коллекцию объектов TimelineMarker , доступ к которым можно получить по отдельности по индексу. TimelineMarkerCollection — это упорядоченный список, в котором порядок определяется значением Time каждого элемента TimelineMarker , содержащегося в коллекции. Дополнительные сведения о том, как это влияет на API коллекции, см. в разделе Примечания.

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)
Наследование
Object Platform::Object IInspectable TimelineMarkerCollection
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

API коллекции для TimelineMarkerCollection

TimelineMarkerCollection — это упорядоченный список, в котором порядок определяется значением Time каждого элемента TimelineMarker , содержащегося в коллекции. API коллекции для TimelineMarkerCollection внутренне обрабатывает каждый новый элемент, добавляемый в коллекцию, и добавляет его в расположение индекса, соответствующее обновленному упорядочению всех значений Time для всех элементов TimelineMarker в коллекции.

Цель всегда поддерживать в TimelineMarkerCollection порядок на основе времени заключается в том, чтобы при перечислении или итерации коллекции возвращались значения TimelineMarker в порядке, соответствующем позиции воспроизводимого ресурса мультимедиа и порядку срабатывания событий MarkerReached . В противном случае, если коллекция не была упорядочена по времени, необходимо было бы отсортировать коллекцию по времени перед использованием.

  • При вызове метода Append (для C++) элемент может быть добавлен в начало, середину или конец упорядоченного списка в зависимости от значения time добавляемого объекта TimelineMarker .
  • При вызове InsertAt (для C++) параметр index игнорируется. Элемент TimelineMarker добавляется в позиции индекса, которая поддерживает порядок коллекции по значениям времени .
  • Если для чтения значения используется метод GetAt (для C++), индекс будет правильным в зависимости от того, как элемент был добавлен внутренней логикой. Но так как вы не контролировали эту логику напрямую, обычно лучше использовать IndexOf (для C++), чтобы найти конкретный Объект TimelineMarker в упорядоченном списке.
  • Если вы используете метод SetAt (для C++) для задания значения, вы удалите значение, которое ранее находилось в этом индексе, но коллекция будет переупорядочена, чтобы сохранить порядок значений time , поэтому добавленный вами объект TimelineMarker может не находиться в том индексе, который вы задали. Это, вероятно, плохая идея, так как вы не будете уверены, какой элемент будет удален. Не рекомендуется использовать индексатор для задания значений.
  • RemoveAt удалит указанный индексированный элемент, но не удалит возможные повторяющиеся элементы при смещении индекса коллекции для оставшихся значений time . Не рекомендуется использовать RemoveAt.

Перечисление коллекции на C# или Microsoft Visual Basic

TimelineMarkerCollection является перечисляемым, поэтому для перечисления элементов в коллекции можно использовать синтаксис для конкретного языка, например foreach в C#. Компилятор выполняет приведение типов автоматически, и вам не нужно явно приводить к IEnumerable<TimelineMarker> . Если необходимо выполнить приведение явным образом, например, если вы хотите вызвать GetEnumerator, приведите к IEnumerable<T> с ограничением TimelineMarker .

Конструкторы

TimelineMarkerCollection()

Инициализирует новый экземпляр класса TimelineMarkerCollection .

Свойства

Size

Возвращает размер (количество) коллекции.

Методы

Append(TimelineMarker)

Добавляет новый элемент в коллекцию.

Clear()

Удаляет все элементы из коллекции.

First()

Возвращает итератор для элементов в коллекции.

GetAt(UInt32)

Возвращает элемент, расположенный по указанному индексу.

GetMany(UInt32, TimelineMarker[])

Извлекает несколько элементов в одном проходе через итератор.

GetView()

Возвращает неизменяемое представление в коллекцию.

IndexOf(TimelineMarker, UInt32)

Извлекает индекс указанного элемента.

InsertAt(UInt32, TimelineMarker)

Вставляет указанный элемент.

RemoveAt(UInt32)

Удаляет элемент по указанному индексу.

RemoveAtEnd()

Удаляет последний элемент в коллекции.

ReplaceAll(TimelineMarker[])

Сначала очищает коллекцию, а затем вставляет предоставленный массив в качестве новых элементов.

SetAt(UInt32, TimelineMarker)

Задает значение по указанному индексу в указанное значение TimelineMarker .

Применяется к

См. также раздел