CollectionBase.OnSetComplete(Int32, Object, Object) メソッド


CollectionBase インスタンスに値を設定した後に、追加のカスタム プロセスを実行します。Performs additional custom processes after setting a value in the CollectionBase instance.

 virtual void OnSetComplete(int index, System::Object ^ oldValue, System::Object ^ newValue);
protected virtual void OnSetComplete (int index, object oldValue, object newValue);
abstract member OnSetComplete : int * obj * obj -> unit
override this.OnSetComplete : int * obj * obj -> unit
Protected Overridable Sub OnSetComplete (index As Integer, oldValue As Object, newValue As Object)



oldValue が存在する位置の、0 以上のインデックス番号。The zero-based index at which oldValue can be found.


newValue で置換する値。The value to replace with newValue.


index にある要素の新しい値。The new value of the element at index.


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

On * メソッドは、List プロパティによって返されたインスタンスでのみ呼び出されますが、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.

次のいずれかが発生すると、コレクションは元の状態に戻ります。The collection reverts back to its previous state if one of the following occurs:

  • プロセスは失敗します。The process fails.

  • このメソッドは、例外をスローするためにオーバーライドされます。This method is overridden to throw an exception.

このメソッドの既定の実装は、O(1) 操作です。The default implementation of this method is an O(1) operation.

注意 (継承者)

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

OnSet(Int32, Object, Object) は、標準のセット動作の前に呼び出されます。一方、OnSetComplete(Int32, Object, Object) は、標準のセット動作の後に呼び出されます。OnSet(Int32, Object, Object) is invoked before the standard Set behavior, whereas OnSetComplete(Int32, Object, Object) is invoked after the standard Set behavior.