给定任何一个
如果我有一个
Class<?> clazz
对象,是否有API可以获取实现clazz
的模型实例的EClass
?(即eClass.getInstanceClass().equals(clazz)
为true的eClass
)如果我有一个
eObject
,我只需调用eObject.eClass()
即可获取EClass
。但在我的情况下,我没有这样的实例。我只有一个模型实例类,并需要关联的EClass
来调用EcoreUtil.create(eClass)
。
clazz
是通过obj.getClass()
来自EObject
实例,还是在代码中使用InterfaceName.class
来获取clazz
(例如:在 UML 中,Activity.class
)? - Vincent AranegaInterfaceName.class
是因为在那个时候我没有任何obj
。我想提供方法create(InterfaceName.class)
作为create(eClass)
的替代方案,因为它可以是类型安全的,并且据我所知,要获取 EClass,我需要通过名称获取它(ePackage.getEClassifier("MyClass")
),或者我需要使用奇怪的引用MyPackage.Literals.MY_CLASS
,我希望避免这种情况。 - kapex