在 EMF 中定义 EEList 类型属性时出错

Error while defining a EEList Type attribute in EMF

在 Eclipse 中,我试图将一个列表添加到我的 EMF 模型中。 在 .ecore 模型中:

但是当我尝试打开这个模型的genmodel时,出现了一个错误提示: "The attribute 'MyClass.MyList' is not transient so it must have a data type that is serializable".

我做错了什么?

提前致谢。

您不必 'manually' 将其作为列表来处理。 请记住,您正在使用 UML。 列表只是类型的有序关联,其中上限设置为 *。 因此,只需将 MyList 添加到 MyClass,将其重数设置为 0..-1(通过将其上限设置为 -1,即 EMF 中的 *)并确保关联的 Ordered 属性 设置为 True(否则你会得到一个 Set)。同时将其类型设置为 EString。

这里有一个例子,其中一个DFA有一个State类型的列表,按照上面的说明。我还将 "containment" 设置为 true,以使列表持有它包含的对象的强引用(这与内存管理有关,我建议您也这样做)。请注意,我已将类型设置为 State,因为这是一个 State 对象列表。