CollectionBase.OnClear CollectionBase.OnClear CollectionBase.OnClear CollectionBase.OnClear Method

定義

CollectionBase インスタンスの内容を消去しているときに、追加のカスタム プロセスを実行します。Performs additional custom processes when clearing the contents of the CollectionBase instance.

protected:
 virtual void OnClear();
protected virtual void OnClear ();
abstract member OnClear : unit -> unit
override this.OnClear : unit -> unit
Protected Overridable Sub OnClear ()

注釈

このメソッドの既定の実装は、コレクションが消去される前に何らかのアクションを実行するために、派生クラスによってオーバーライドされることを意図しています。The default implementation of this method is intended to be overridden by a derived class to perform some action before the collection is cleared.

On * メソッドは、@no__t 0 プロパティによって返されたインスタンスでのみ呼び出されますが、InnerList プロパティによって返されるインスタンスでは呼び出されません。The On* methods are invoked only on the instance returned by the List property, but not on the instance returned by the InnerList property.

プロセスが失敗した場合、コレクションは元の状態に戻ります。If the process fails, the collection reverts back to its previous state.

このメソッドの既定の実装は @no__t 0 演算です。The default implementation of this method is an O(1) operation.

注意 (継承者)

このメソッドを使用すると、実装者は、基になる ArrayList からすべての要素を削除する前に実行する必要があるプロセスを定義できます。This method allows implementers to define processes that must be performed before deleting all the elements from the underlying ArrayList. このメソッドを定義することにより、実装者は、他のすべてのメソッドをオーバーライドせずに、継承されたメソッドに機能を追加できます。By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

OnClear() は、標準のクリア動作の前に呼び出されます。一方、OnClearComplete() は、標準のクリア動作の後に呼び出されます。OnClear() is invoked before the standard Clear behavior, whereas OnClearComplete() is invoked after the standard Clear behavior.

たとえば、実装者は、特定の要素をグローバル明快によって削除から除外することができます。For example, implementers can exempt certain elements from deletion by a global Clear.

適用対象

こちらもご覧ください