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)
- Наследование
- Атрибуты
- Реализации
Требования к 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 . |