gpt4 book ai didi

eclipse-emf - eclipse 电磁场 : How to get access EAttribute by name?

转载 作者:行者123 更新时间:2023-12-03 04:52:35 25 4
gpt4 key购买 nike

我有一个传递字符串和 EMF EObject 的 Java 方法。该字符串是 EObject 的属性名称。例如,如果传递“foo”和EObject eobj,则需要访问eobj.getFoo()。我知道如何从 EAttibute 的 featureID 中获取其值,但似乎找不到通过属性名称获取它的方法。这可能吗?

最佳答案

下面的代码应该可以解决问题,但它一点也不优雅。它获取 eObjecteClass,按名称查找匹配的属性定义并访问它。这里使用的getEAllAttributes()还包括父类定义的属性。

    EObject eObject = null;
String attributeName = "";
EDataType resultingDataType = null;
EList<EAttribute> eAllAttributes = eObject.eClass().getEAllAttributes();
for (EAttribute eAttribute : eAllAttributes) {
if (eAttribute.getName().equals(attributeName)) {
resultingDataType = (EDataType) eObject.eGet(eAttribute);
}
}
System.out.println(resultingDataType);

关于eclipse-emf - eclipse 电磁场 : How to get access EAttribute by name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13370773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com