如何判断某人何时正在从CollectionBase中读取项目

本文关键字:CollectionBase 项目 读取 何时正 某人 何判断 判断 | 更新日期: 2023-09-27 18:00:21

我不确定使用CollectionBase类是否可以做到这一点。我想知道什么时候有人正在访问CollectionBase类中的项。

最终目标是创建一个"VirtualMode"(类似于DataGridView控件),允许我在用户获取数据之前检查和验证数据

因此,他们可以创建一个由20个对象组成的集合,在内部,我们将IList修改为包含20个null对象,然后当他们试图读取一个项目时,如果它为null,我们会转到外部数据源,并在那时读取它。然后,我们用read类替换现有的null对象,下次他们尝试访问它时,他们会得到缓存的版本。

打出来之后。我想知道OnValidate是否是做这件事的合适地点。

如有任何协助,我们将不胜感激。

Trevor Watson

如何判断某人何时正在从CollectionBase中读取项目

使用CollectionBase是不可能的。仅在OnInsert()OnRemove()OnSet()之前调用OnValidate()

可以从ArrayList继承并重写索引器属性(ArrayList.Item)。

看起来您正在寻找一个虚拟化集合。这篇关于CodeProject的文章有一个很好的实现(它用于WPF中的数据绑定,但可能可以在另一个上下文中使用)