2015-05-04 27 views
1

在我的EObject我有字段eStorage,其中包含我想要使用的數據。在EMF中使用eStorage

是否有可能讀出eStorage?

我嘗試下面的代碼,但它不工作:

doIt(EObject object) { 
    object.getEStorage; 
    // use the eStorage... 
} 

回答

1

機會是eStorage是私人領域。

因此,要麼,

  • 重新讀取EObject接口和/或EObject的特定實現您所使用的的Javadoc的Javadoc。您可能會找到提供您要查找的數據的方法。
  • 通過反射訪問私有字段
try { 
    Field f = object.getClass().getDeclaredField("eStorage"); 
    f.setAccessible(true); 
    Object theDataYouWant = f.get(object); 
} catch(Exception e) { 
    // Handle exception here... 
} 

參考文獻:How do I read a private field in Java?

+0

反思做的工作(如eStorage字段是私有的)。非常感謝! :) – John