コンテンツにスキップ

MultiChildrenCollection<T> クラス

複数の子の保持をコンポジションで提供するコレクション。追加・削除時にownerへのAdopt/Dropを行い、 ライフサイクル(Attach/Detach/Visit)の転送ヘルパーを提供する。

名前空間: FloatSoda.RenderObjects
アセンブリ: FloatSoda.dll

public class MultiChildrenCollection<T> : ICollection<T>, IEnumerable<T>, IEnumerable where T : RenderObject

T

object ← MultiChildrenCollection<T>

ICollection<T>, IEnumerable<T>, IEnumerable

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

MultiChildrenCollectionExtensions.AddErased<T>(MultiChildrenCollection<T>, RenderObject), MultiChildrenCollectionExtensions.InsertErased<T>(MultiChildrenCollection<T>, RenderObject, RenderObject?), MultiChildrenCollectionExtensions.MoveErased<T>(MultiChildrenCollection<T>, RenderObject, RenderObject?), MultiChildrenCollectionExtensions.RemoveErased<T>(MultiChildrenCollection<T>, RenderObject), MultiChildrenCollectionExtensions.Swap<T>(MultiChildrenCollection<T>, ReadOnlySpan<T>)

複数の子の保持をコンポジションで提供するコレクション。追加・削除時にownerへのAdopt/Dropを行い、 ライフサイクル(Attach/Detach/Visit)の転送ヘルパーを提供する。

public MultiChildrenCollection(RenderObject owner)

owner RenderObject

子を所有し、追加と削除の通知を受け取るRenderObject。

保持している子の数を取得する。

public int Count { get; }

int

コレクションが読み取り専用かどうかを取得する。

public bool IsReadOnly { get; }

bool

子を末尾に追加する。

public void Add(T child)

child T

所有者をLayout Dirtyとしてマークし、次のパイプライン更新時に再レイアウトを要求します。

全ての子をRenderPipelineへアタッチする。ownerのAttachから呼ぶ。

public void Attach(RenderPipeline? pipeline)

pipeline RenderPipeline?

全ての子を取り除く。

public void Clear()

子を一つ取り除くたびに所有者へLayout Dirtyを要求します。 コレクションが空の場合、Dirty状態は変更されません。

指定した子を保持しているかを判定する。

public bool Contains(T item)

item T

検索する子。

bool

指定した子を保持している場合はtrue、それ以外の場合はfalse。

保持している子を指定した配列へコピーする。

public void CopyTo(T[] array, int arrayIndex)

array T[]

子をコピーする配列。

arrayIndex int

コピーを開始する配列の位置。

全ての子をデタッチする。ownerのDetachから呼ぶ。

public void Detach()

保持している子を列挙する反復子を取得する。

public IEnumerator<T> GetEnumerator()

IEnumerator<T>

子を列挙する反復子。

子をafterの次へ挿入する。afterがnullなら先頭へ挿入する。

public void Insert(T child, T? after)

child T

after T?

所有者をLayout Dirtyとしてマークし、次のパイプライン更新時に再レイアウトを要求します。

ArgumentException

afterがこのコレクションの子ではありません。

保持している子をafterの次へ移動する。afterがnullなら先頭へ移動する。

public void Move(T child, T? after)

child T

after T?

位置が変わった場合、所有者をLayout Dirtyとしてマークします。既にその位置にある場合、Dirty状態は変更されません。

ArgumentException

childまたはafterがこのコレクションの子ではありません。

子を取り除く。

public bool Remove(T child)

child T

bool

子が削除された場合、所有者をLayout Dirtyとしてマークし、 次のパイプライン更新時に再レイアウトを要求します。 子が見つからなかった場合、Dirty状態は変更されません。

全ての子にvisitorを適用する。

public void VisitChildren(Action<RenderObject> visitor)

visitor Action<RenderObject>