M2DOC:如何传递对象集合
M2DOC : How to pass a collection of objects
是否可以将对象列表 (PhysicalComponent) 传递到我的自定义服务以阻止我遍历所有 PhysicalComponent ?
实际上我在我的 M2DOC 模板中是这样迭代的:
{m:for pc | self.eAllContents(pa::PhysicalComponent)}
{m:pc.MatrixFlow()}
{m:endfor}
您可以创建具有以下签名的服务:
public SomeReturnType myService(List<PhysicalComponent> components) {
...
}
或
public SomeReturnType myService(Set<PhysicalComponent> components) {
...
}
或
public SomeReturnType myService(Collection<PhysicalComponent> components) {
...
}
那你可以这样调用比如:
{m:self.eAllContents(pa::PhysicalComponent)->myService()}
箭头表示将集合传递给服务,点表示对集合的每个元素调用服务。
如果您使用集合列表作为第一个参数,您可能需要使用 asSequence() 或 asOrderedSet():
{m:self.eAllContents(pa::PhysicalComponent)->asSequence()->myService()}
或
{m:self.eAllContents(pa::PhysicalComponent)->asOrderedSet()->myService()}
是否可以将对象列表 (PhysicalComponent) 传递到我的自定义服务以阻止我遍历所有 PhysicalComponent ?
实际上我在我的 M2DOC 模板中是这样迭代的:
{m:for pc | self.eAllContents(pa::PhysicalComponent)}
{m:pc.MatrixFlow()}
{m:endfor}
您可以创建具有以下签名的服务:
public SomeReturnType myService(List<PhysicalComponent> components) {
...
}
或
public SomeReturnType myService(Set<PhysicalComponent> components) {
...
}
或
public SomeReturnType myService(Collection<PhysicalComponent> components) {
...
}
那你可以这样调用比如:
{m:self.eAllContents(pa::PhysicalComponent)->myService()}
箭头表示将集合传递给服务,点表示对集合的每个元素调用服务。
如果您使用集合列表作为第一个参数,您可能需要使用 asSequence() 或 asOrderedSet():
{m:self.eAllContents(pa::PhysicalComponent)->asSequence()->myService()}
或
{m:self.eAllContents(pa::PhysicalComponent)->asOrderedSet()->myService()}