M2DOC:如何传递对象集合

Posted

技术标签:

【中文标题】M2DOC:如何传递对象集合【英文标题】:M2DOC : How to pass a collection of objects 【发布时间】:2020-03-27 22:29:00 【问题描述】:

是否可以将对象列表 (PhysicalComponent) 传递给我的自定义服务以阻止我遍历所有 PhysicalComponent ?

实际上我在我的 M2DOC 模板中这样迭代:

m:for pc | self.eAllContents(pa::PhysicalComponent)
m:pc.MatrixFlow()
m:endfor

【问题讨论】:

【参考方案1】:

您可以使用以下签名创建服务:

public SomeReturnType myService(List<PhysicalComponent> components) 
...

public SomeReturnType myService(Set<PhysicalComponent> components) 
...

public SomeReturnType myService(Collection<PhysicalComponent> components) 
...

那么你可以这样称呼它,例如:

m:self.eAllContents(pa::PhysicalComponent)->myService()

箭头表示将集合传递给服务,点表示在集合的每个元素上调用服务。

如果您使用 Set 的 List 作为第一个参数,您可能需要使用 asSequence() 或 asOrderedSet():

m:self.eAllContents(pa::PhysicalComponent)->asSequence()->myService()

m:self.eAllContents(pa::PhysicalComponent)->asOrderedSet()->myService()

【讨论】:

以上是关于M2DOC:如何传递对象集合的主要内容,如果未能解决你的问题,请参考以下文章

如何将 .NET 对象集合(父子)层次结构传递给 SQL Server 存储过程

android的activity之间可以传递对象或者集合吗

如何使用graphql将mongodb中多个集合中的数据传递到1个反应表

将部分可编辑对象的集合传递给算法

如何将 Class 作为参数传递并在 Java 中返回泛型集合?

Android:将对象从集合小部件传递到活动