# ListChange<T> class

Represents a change in a `List`.

This event captures details about what kind of modification occurred in the list (add, insert, remove, update, clear), the index affected, and the values before and after the change.

### Example

    void main() {
      var addEvent = ListChange.add(0, 'apple');
      print(addEvent.type); // ListChangeType.add

      var removeEvent = ListChange.remove(1, 'banana');
      print(removeEvent.oldValue); // banana
    }

Inheritance
  - Object
  - ObsEvent
  - ListChange
Annotations
  - @Generic(ListChange)

## Constructors

ListChange.add(int? index, T? newValue)
  Represents a change in a `List`.
  const
ListChange.clear()
  Represents a change in a `List`.
  const
ListChange.insert(int? index, T? newValue)
  Represents a change in a `List`.
  const
ListChange.remove(int? index, T? oldValue)
  Represents a change in a `List`.
  const
ListChange.update(int? index, T? oldValue, T? newValue)
  Represents a change in a `List`.
  const

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
index → int?
  The index affected by the change (if applicable).
  final
newValue → T?
  The new value after the change (if applicable).
  final
oldValue → T?
  The previous value before the change (if applicable).
  final
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
type → ListChangeType
  The type of change that occurred in the list.
  final

## Methods

noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited