new 运算符 - Eclipse new child 选项仅适用于包含等于 true



我有一个ecore元模型,它的类之间有一些关系。其中一些是遏制,而另一些则不是。我创建了一个动态实例,我使用示例反射编辑器对其进行编辑。

此时,我无法从具有不同于包含关系的类中创建子项。也就是说,菜单中没有"新子级"选项,只有"新兄弟姐妹"。

我不明白为什么。我不想调整元模型在所有关系中添加容器,因为元模型在没有包含的情况下是正确的。并且仅将包含/容器设置为 true 才能在动态实例中启用新的子选项。

如何进行?为什么会有这个限制?

谢谢。

由于不包含非包含关系,因此无法通过"new 子项"创建新实例。相反,您只能引用现有对象。

更准确地说:假设您的 EClass A 有一个名为 "ref" 的非包含引用到 EClass B。如果创建 A 的实例并在编辑器中选择它,则会在属性视图中找到一个属性"ref",您可以在其中选择 B 的实例。

请注意,您必须在自己的 EResource(即文件)中创建 B 的实例。为了能够从 A 实例引用它们,您必须加载包含 B 实例的资源。

相关内容

最新更新