扩展和替换 IDO
IDO 开发系统使开发员能够创建从现有 IDO 继承了全部属性、方法、表和扩展类别的新 IDO。新建的 IDO 与基础 IDO 之间存在的关系称为“扩展”关系;新 IDO 从基础 IDO 继承并进行延伸。
开发员可有选择地将扩展 IDO 标记为基础 IDO 的替代。当扩展 IDO 替代其基础 IDO 时,对基础 IDO 发出的全部 IDO 请求均通过扩展 IDO 重新路由。这些请求分别为 GetPropertyInfo、LoadCollection、UpdateCollection 和 Invoke 请求。
“扩展”及“扩展并替换”选项在“新 IDO 向导”中,用于“增加 IDO”。
扩展 IDO(与基础 IDO 相关的 IDO)只能对基础 IDO 进行添加。也就是,可以添加新的属性、方法、表和扩展类别,但是基础属性、方法、表或扩展类别均不能修改或删除。新绑定的属性可以绑定至扩展 IDO 或任意基础 IDO 的表中的列。同样,新衍生的属性可以参考扩展 IDO 及任意基础 IDO 中的属性。
扩展 IDO 本身可由一个或多个其他 IDO 扩展。在继续链中没有对层数的硬限制。任意数量的扩展 IDO 均可共享同一基本 IDO,但是只有一个同属 IDO 可以标志为基础 IDO 的替代。
当 IDO 运行时处理 IDO 请求时,将生成可按 IDO 扩展类别处理的事件。如果扩展 IDO 具有一个或基础 IDO,并且这些基础 IDO 均有相关扩展类别,则事件将触发全部扩展类别,但是顺序是无序的。
基础 IDO 和取代标志可在创建新 IDO 时设置。其属性对于当前 IDO 是只读的。