|
|
1
4
我认为你的问题的答案与“包含”的概念有关,任何父对象对子对象具有包含引用(EMF元模型中的包含=true),都可以管理子对象的生命周期。因此,当创建子对象时,父对象对该对象的引用将自动生成。如果引用不是类型包容(包容= false),那么可以将引用指向任何现有的正确类型的模型对象。我认为你需要将你的引用设置为包含=false。 我没有使用Acceleo,所以让我们以EMF树编辑器为例(这个概念也适用于GMF编辑器):在树编辑器中,如果父对象具有对子对象的包含引用,则用户可以通过右键单击父对象并选择“new--gt;child-->ChildObject:“如果对该子对象的引用不是包容类型,则用户将能够通过单击父对象的属性窗口中的适当子属性来选择已经存在于模型中的那个对象的实例。 有帮助吗?如果这个描述令人困惑,那么它可能有助于创建一个带有一些非包含引用的玩具模型,并为其生成EMF编辑器。 |
|
|
2
0
我不确定EMF中模型之间引用的概念是什么。然而,在模型中 做 可以引用其他模型中的元素。在创建模型实例的通用EMF编辑器中,可以单击右键,然后选择“加载资源…”。该新资源可以是与您的模型相关的任何其他模型(您的元模型引用其他模型的元模型)。 你也可以在元模型层次上做到这一点。在图形Ecore编辑器中,可以从其他元模型中拖放类。他们将保持同步。 不过,我不确定你是不是在问这个问题。 |