次の方法で共有


TimelineMarkerCollection クラス

定義

インデックスによって個別にアクセスできる TimelineMarker オブジェクトのコレクションを表します。 TimelineMarkerCollection は、コレクションに含まれる各 TimelineMarker 項目の Time 値によって順序が決定される順序付きリストです。 これがコレクション 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 で導入)

注釈

TimelineMarkerCollection のコレクション API

TimelineMarkerCollection は、コレクションに含まれる各 TimelineMarker 項目の Time 値によって順序が決定される順序付きリストです。 TimelineMarkerCollection のコレクション API は、コレクションに追加された新しい各項目を内部的に処理し、コレクション内のすべての TimelineMarker 項目のすべての Time 値の更新順序に対応するインデックス位置に追加します。

TimelineMarkerCollection で常に時間ベースの順序を維持する目的は、コレクションを列挙または反復処理すると、再生されているメディアアセットの PositionMarkerReached イベントが発生する順序に対応する順序で TimelineMarker 値が与えられるということです。 それ以外の場合、コレクションが 時間順でない場合は、使用する前に時間順にコレクションを並べ替える必要がありました。

  • Append (C++ の場合) を呼び出すと、追加する TimelineMarkerTime 値に応じて、順序付けされたリストの先頭、中央、または末尾に項目が追加される可能性があります。
  • InsertAt (C++の場合) を呼び出すと、index パラメーターは無視されます。 TimelineMarker 項目は、コレクションの順序を Time 値で保持するインデックス位置に追加されます。
  • GetAt メソッド (C++ の場合) を使用して値を読み取る場合、内部ロジックによって項目がどのように追加されたかに基づいて、インデックスは正しいです。 ただし、そのロジックを直接制御していないので、通常は IndexOf (C++の場合) を使用して順序付きリスト内の特定の TimelineMarker を検索することをお勧めします。
  • SetAt メソッド (C++の場合) を使用して値を設定する場合は、以前のインデックスの値を削除しますが、コレクション自体は Time 値の順序を維持するように並べ替えられます。そのため、追加した新しい TimelineMarker が、設定したインデックスにない可能性があります。 どの項目が削除されるかわからないため、これはおそらく悪い考えです。 インデクサーを使用して値を設定しないことをお勧めします。
  • RemoveAt は、指定したインデックス付きアイテムを削除しますが、コレクションのインデックスが残りの Time 値にシフトしても、重複する可能性のある項目は削除されません。 RemoveAt は使用しないことをお勧めします。

C# または Microsoft Visual Basic でのコレクションの列挙

TimelineMarkerCollection は列挙可能であるため、C# の foreach などの言語固有の構文を使用してコレクション内の項目を列挙できます。 コンパイラによって型キャストが行われ、明示的に キャストする IEnumerable<TimelineMarker> 必要はありません。 GetEnumerator を呼び出す場合など、明示的にキャストする必要がある場合は、TimelineMarker 制約を使用して IEnumerable<T> にキャストします。

コンストラクター

TimelineMarkerCollection()

TimelineMarkerCollection クラスの新しいインスタンスを初期化します。

プロパティ

Size

コレクションのサイズ (カウント) を取得します。

メソッド

Append(TimelineMarker)

新しい項目をコレクションに追加します。

Clear()

コレクションからすべての項目を削除します。

First()

コレクション内の項目の反復子を返します。

GetAt(UInt32)

指定したインデックスにある項目を返します。

GetMany(UInt32, TimelineMarker[])

反復子を 1 回のパスで複数の要素を取得します。

GetView()

コレクションに変更できないビューを取得します。

IndexOf(TimelineMarker, UInt32)

指定した項目のインデックスを取得します。

InsertAt(UInt32, TimelineMarker)

指定した項目を挿入します。

RemoveAt(UInt32)

指定したインデックス位置にある項目を削除します。

RemoveAtEnd()

コレクション内の最後の項目を削除します。

ReplaceAll(TimelineMarker[])

最初にコレクションをクリアし、指定された配列を新しい項目として挿入します。

SetAt(UInt32, TimelineMarker)

指定したインデックスの値を、指定した TimelineMarker 値に設定します。

適用対象

こちらもご覧ください