Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse new child选项仅适用于containment equals true_Eclipse_New Operator_Instance - Fatal编程技术网

Eclipse new child选项仅适用于containment equals true

Eclipse new child选项仅适用于containment equals true,eclipse,new-operator,instance,Eclipse,New Operator,Instance,我有一个ecore元模型,它的类之间有一些关系。有些是集装箱,有些不是。我已经创建了一个使用示例反射编辑器编辑的动态实例 此时,我无法从关系不同于包含的类中创建child。也就是说,菜单中没有“new child”选项,只有“new sibling” 我不明白为什么。我不想在所有关系中添加容器来调整元模型,因为没有容器的元模型是正确的。并且只有将containment/container设置为true,才能在动态实例中启用新的子选项 如何进行?为什么会有这种限制 非常感谢。由于未包含非包含关系,

我有一个ecore元模型,它的类之间有一些关系。有些是集装箱,有些不是。我已经创建了一个使用示例反射编辑器编辑的动态实例

此时,我无法从关系不同于包含的类中创建child。也就是说,菜单中没有“new child”选项,只有“new sibling”

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

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


非常感谢。

由于未包含非包含关系,因此无法通过“new child”创建新实例。相反,只能引用现有对象

更准确地说:假设您的电子课堂A对电子课堂B有一个名为“ref”的非包容引用。如果您创建A的实例并在编辑器中选择它,您将在properties视图中找到一个属性“ref”,您可以在其中选择B的实例


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

亲爱的Tillmann,感谢您的回答。我是否需要在模型级别为两个类之间的关系创建一个文件资源?我的意思是,我想用实例实例化我的元模型。在元模型级别,两个元类之间存在简单的关系(关联)。在模型级别,实例也将被关联。我是否需要为每个关联的类创建一个EResource文件?如果是,如何进行?再次感谢你的回答。最后一个问题,您知道eclipse是否有一个UML编辑器以图形方式创建元模型和基于xmi的模型吗?这将比使用示例反射编辑器编辑xmi文件更容易。非常感谢你的回答,蒂尔曼。向您致意,Dconversor。您好,Dconversor,每个模型元素都绑定到一个EResource。如果您的模型元素不包含在任何其他模型元素中,则需要将其放在其自己的EResource(作为根元素)中。要创建新的EResource,您可以使用反射编辑器(即在要实例化的电子课堂上调用create Dynamic Instance)或生成的新向导(允许选择根元素的电子课堂)。EMFT中有一个图形Ecore编辑器。我从来没用过,不过你可以看看。