CollectionBase.OnSet Method (Int32, Object, Object)

 

Performs additional custom processes before setting a value in the CollectionBase instance.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

abstract OnSet : 
        index:int *
        oldValue:Object *
        newValue:Object -> unit
override OnSet : 
        index:int *
        oldValue:Object *
        newValue:Object -> unit

Parameters

index
Type: System.Int32

The zero-based index at which oldValue can be found.

oldValue
Type: System.Object

The value to replace with newValue.

newValue
Type: System.Object

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 before the specified element is set.

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.

The default implementation of this method is an O(1) operation.

Notes to Implementers:

This method allows implementers to define processes that must be performed before setting the specified element in the underlying System.Collections.ArrayList. By defining this method, implementers can add functionality to inherited methods without having to override all other methods.

OnSet is invoked before the standard Set behavior, whereas OnSetComplete is invoked after the standard Set behavior.

For example, implementers can restrict which values can be overwritten by performing a check inside OnSet.

OnValidate is called prior to this method.

The following code example implements the CollectionBase class and uses that implementation to create a collection of Int16 objects.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top
Show: