解析GeneXus知识库中不同类型的对象引用
GeneXus知识库对象引用类型详解
ReferenceType 枚举值含义
这是标识引用强度的枚举,决定被引用对象变化时对引用对象的影响:
- Hard:强引用。被引用对象删除后,引用对象会直接失效,必须修改引用对象移除该引用才能恢复有效性。例如程序直接调用另一个程序、实体属性被其他对象直接引用。
- Weak:弱引用。被引用对象删除后,引用对象不会立即失效,但可能导致部分功能异常。例如报表引用了一个可选数据源,数据源删除后报表仍能打开,但无法加载对应数据。
- WeakExternal:外部弱引用。引用的是知识库外部的对象(如外部API、第三方组件),外部对象的变更不会影响知识库内对象的有效性,但运行时可能出现功能异常。
LinkType 数值含义
这是用位掩码表示的引用场景类型,单个值或组合值对应不同的引用关系:
1:直接调用/使用引用。比如程序A直接调用程序B,或者对象直接引用实体的属性、方法。2:继承引用。比如WebPanel继承自基础WebPanel,业务对象继承自父类对象。4:依赖引用。比如工作流依赖业务规则,报表依赖数据视图的配置。- 注:支持多值组合(如
3= 1+2,表示同时存在直接调用和继承引用)。
LinkTypeInfo 编码含义
这是由多个缩写组成的复合编码,每个片段代表引用的具体操作属性:
- BL:Base Link,标识这是一个基础关联类型,是其他属性的基础。
- R1:Read access (single instance),表示引用涉及对单个实例的读取操作。
- I1:Insert access (single instance),表示引用涉及对单个实例的插入操作。
- U1:Update access (single instance),表示引用涉及对单个实例的更新操作。
- B1:Browse access (single instance),表示引用涉及对单个实例的浏览操作。
- 注:编码中的数字代表实例数量(1=单实例,N=多实例),字母代表操作类型(R=读、I=插入、U=更新、B=浏览),多个片段组合表示该引用同时包含多种操作属性。
内容的提问来源于stack exchange,提问作者ealmeida
相关产品推荐
相关产品推荐

