2017-01-06 33 views
1

在Eclipse中,我试图将List添加到我的EMF模型中。 在.ecore型号:在EMF中定义EEList类型属性时出错

  • 我在EMF添加一个新类“MyClass的”我的模型
  • 然后属性“MYLIST”添加到这个类,设置该属性的ETYPE为EEList <>
  • 然后将列表元素的dataType设置为EString。

但是,当我尝试打开该模型genmodel中,会出现一个错误说: “属性‘MyClass.MyList’不是短暂的,因此必须有一个序列化的数据类型”。

我在做什么错了?

在此先感谢。

回答

2

你不必'手动'处理它是一个列表。请记住,您正在使用UML。 列表仅仅是一个有序的关联到一个类型,其中上限设置为*。 因此,只需将MyList添加到MyClass,将它的多重性设置为0 ..- 1(通过将其上限设置为-1,这意味着EMF中的*),并确保关联的Ordered属性设置为True(否则,您将得到一个组)。还将其类型设置为EString。

下面是一个示例,其中DFA有一个State类型的列表,符合上述说明。我还将“遏制”设置为真,以便使列表对它所包含的对象有强烈的参考(这与内存管理有关,我建议你也这样做)。请注意,我已将类型设置为状态,因为这是一个状态对象列表。

enter image description here

+0

它的工作。谢谢! –