Table of Contents

Struct ItemChange<T>

Namespace
DynamicData
Assembly
DynamicData.dll

Container to describe a single change to a cache.

public readonly struct ItemChange<T> : IEquatable<ItemChange<T>> where T : notnull

Type Parameters

T

The type of the item.

Implements
Extension Methods
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)

Constructors

ItemChange(ListChangeReason, T, in Optional<T>, int, int)

Initializes a new instance of the ItemChange<T> struct.

public ItemChange(ListChangeReason reason, T current, in Optional<T> previous, int currentIndex = -1, int previousIndex = -1)

Parameters

reason ListChangeReason

The reason.

current T

The current.

previous Optional<T>

The previous.

currentIndex int

Value of the current.

previousIndex int

Value of the previous.

ItemChange(ListChangeReason, T, int)

Initializes a new instance of the ItemChange<T> struct.

public ItemChange(ListChangeReason reason, T current, int currentIndex)

Parameters

reason ListChangeReason

The reason.

current T

The current.

currentIndex int

Index of the current.

Fields

Empty

An empty change.

public static readonly ItemChange<T> Empty

Field Value

ItemChange<T>

Properties

Current

Gets the item which has changed.

public T Current { get; }

Property Value

T

CurrentIndex

Gets the current index.

public int CurrentIndex { get; }

Property Value

int

Previous

Gets the previous change.

This is only when Reason==ChangeReason.Replace.

public Optional<T> Previous { get; }

Property Value

Optional<T>

PreviousIndex

Gets the previous index.

This is only when Reason==ChangeReason.Replace or ChangeReason.Move.

public int PreviousIndex { get; }

Property Value

int

Reason

Gets the reason for the change.

public ListChangeReason Reason { get; }

Property Value

ListChangeReason

Methods

Equals(ItemChange<T>)

Determines whether the specified object, is equal to this instance.

public bool Equals(ItemChange<T> other)

Parameters

other ItemChange<T>

The other.

Returns

bool

If the value is equal.

Equals(object?)

Determines whether the specified object, is equal to this instance.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with this instance.

Returns

bool

true if the specified object is equal to this instance; otherwise, false.

GetHashCode()

Returns a hash code for this instance.

public override int GetHashCode()

Returns

int

A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

ToString()

Returns a string that represents this instance.

public override string ToString()

Returns

string

A string that represents this instance.

Operators

operator ==(in ItemChange<T>, in ItemChange<T>)

Determines whether the specified objects are equal.

public static bool operator ==(in ItemChange<T> left, in ItemChange<T> right)

Parameters

left ItemChange<T>

The left hand side to compare.

right ItemChange<T>

The right hand side to compare.

Returns

bool

If the two values are equal.

operator !=(in ItemChange<T>, in ItemChange<T>)

Determines whether the specified objects are not equal.

public static bool operator !=(in ItemChange<T> left, in ItemChange<T> right)

Parameters

left ItemChange<T>

The left hand side to compare.

right ItemChange<T>

The right hand side to compare.

Returns

bool

If the two values are not equal.