0

我想返回一个由“SomeOtherObject”引用的“ListOfObjects”元素列表,它的(SomeOtherObject's)属性满足条件。我正在尝试这段代码:

ParentObj.ListOfObjects.select(e|e.referencingContainers.typeSelect(SomOtherObject).attr.isValid());

“ListOfObjects”从“ParentObj”中提取特定对象的列表。但是上面的代码什么也没给我。请帮我弄清楚这里出了什么问题。

4

2 回答 2

0

这是因为,在上面的代码中,select 中的表达式的结果返回一个列表而不是一个布尔值。为了使其成为布尔值,我必须以这种方式重写代码:

ParentObj.ListOfObjects.select(e|e.referencingContainers.typeSelect(SomOtherObject).select(el|el.attr.isValid()).size > 0);

选择内的选择以及检查大小是造成差异的原因。

于 2015-01-30T10:34:34.730 回答
0

有一个扩展来查找引用特定对象的对象:org::eclipse::xtend::util::stdlib::crossref

您也可以以相同的方式指定条件。是有关交叉引用扩展的更多信息。

于 2015-03-23T20:02:41.397 回答