CollectionChangedEventArgs<T>¶
- 种类:
struct - 命名空间:
Runestone.AesirArchitecture - 程序集:
Runestone.AesirArchitecture
继承链: System.Object → System.ValueType → CollectionChangedEventArgs<T>
类型参数
T— 元素类型(字典集合为 KeyValuePair{TKey,TValue})。
声明¶
集合变更事件参数。每次变更携带单个变更项;批量操作(AddRange / RemoveRange 等)由集合逐项触发事件。
备注
普通(非 ref)只读结构体,可自由存入集合与闭包;事件经 MiniEvent{T} 分发, 回调以值传递接收(结构体按字段拷贝,无堆分配)。 各 NotifyCollectionChangedAction 携带的字段: Add → NewItem / NewStartingIndex; Remove → OldItem / OldStartingIndex; Replace → NewItem / OldItem / NewStartingIndex(等于 OldStartingIndex); Move → NewItem(等于 OldItem, 即被移动元素)/ 两个索引; Reset → 无附加字段(Clear / Sort / Reverse 共用, 监听方按"重建视图"处理)。
无索引概念的集合(字典 / HashSet)所有索引固定为 -1。
字段¶
| 名称 | 描述 |
|---|---|
Action |
变更类型。 |
NewItem |
变更后的元素(Add / Replace / Move 有效,其余为 default)。 |
OldItem |
变更前的元素(Remove / Replace / Move 有效,其余为 default)。 |
NewStartingIndex |
新位置索引(Add / Replace / Move 有效);无索引概念的集合为 -1。 |
OldStartingIndex |
原位置索引(Remove / Replace / Move 有效);无索引概念的集合为 -1。 |
Action¶
变更类型。
NewItem¶
变更后的元素(Add / Replace / Move 有效,其余为 default)。
OldItem¶
变更前的元素(Remove / Replace / Move 有效,其余为 default)。
NewStartingIndex¶
新位置索引(Add / Replace / Move 有效);无索引概念的集合为 -1。
OldStartingIndex¶
原位置索引(Remove / Replace / Move 有效);无索引概念的集合为 -1。
方法¶
声明的方法
| 名称 | 描述 |
|---|---|
Add(T, int) |
构造添加变更。 |
Move(T, int, int) |
构造移动变更。 |
Remove(T, int) |
构造移除变更。 |
Replace(T, T, int) |
构造替换变更。 |
Reset() |
构造重置变更(Clear / Sort / Reverse 共用,无附加字段)。 |
继承的方法
| 名称 | 描述 | 声明类型 |
|---|---|---|
GetType() |
— | object |
Equals(object) |
— | ValueType |
GetHashCode() |
— | ValueType |
ToString() |
— | ValueType |
MemberwiseClone() |
— | object |
Finalize() |
— | object |
Add(T, int)¶
构造添加变更。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
newItem |
T |
被添加的元素。 |
newStartingIndex |
int |
被添加到的索引;无索引概念的集合传 -1。 |
返回值
| 类型 | 说明 |
|---|---|
CollectionChangedEventArgs<T> |
添加变更参数。 |
Move(T, int, int)¶
构造移动变更。
public static CollectionChangedEventArgs<T> Move(T movedItem, int newStartingIndex, int oldStartingIndex)
参数
| 名称 | 类型 | 说明 |
|---|---|---|
movedItem |
T |
被移动的元素(同时写入 NewItem 与 OldItem)。 |
newStartingIndex |
int |
移动后的索引。 |
oldStartingIndex |
int |
移动前的索引。 |
返回值
| 类型 | 说明 |
|---|---|
CollectionChangedEventArgs<T> |
移动变更参数。 |
Remove(T, int)¶
构造移除变更。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
oldItem |
T |
被移除的元素。 |
oldStartingIndex |
int |
移除前所在索引;无索引概念的集合传 -1。 |
返回值
| 类型 | 说明 |
|---|---|
CollectionChangedEventArgs<T> |
移除变更参数。 |
Replace(T, T, int)¶
构造替换变更。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
newItem |
T |
替换后的元素。 |
oldItem |
T |
替换前的元素。 |
index |
int |
替换位置索引;无索引概念的集合传 -1。 |
返回值
| 类型 | 说明 |
|---|---|
CollectionChangedEventArgs<T> |
替换变更参数。 |
Reset()¶
构造重置变更(Clear / Sort / Reverse 共用,无附加字段)。
返回值
| 类型 | 说明 |
|---|---|
CollectionChangedEventArgs<T> |
重置变更参数。 |
Additional Notes¶
首个
## Additional Notes是增量生成文档标识符,请勿修改标题级别和内容!本文档由Script Doc Generator辅助生成。