4
Vaadin 프레임 워크를 사용하고 일부 동작을 무시하고 싶습니다.부모 클래스에서 비공개 필드를 변경하는 방법
필드의 모든 설정자는 부작용이있어 문제를 일으키지 않습니다.
이러한 이유로 개인 필드를 직접 설정하려고합니다.
@Override
public void setItemDataSource(Item itemDataSource) {
//do some stuff
java.lang.reflect.Field privateField = this.getClass().getDeclaredField(itemDatasource); //Yes the spelling is correct.
privateField.set(this, itemDataSource); <<-- I get an error.
//do more stuff
나는 다음과 같은 오류가 발생합니다 :
여기 내 코드입니다.
// TODO : 복사 붙여 넣기 오류.
명백히 나는 필드가 변경되어야하는 객체 인 것처럼 this
을 포함시키지 않아도되지만 다른 참조가 필요합니다.
내가 뭘 잘못하고 있니?
당신은 전체 예외 추적을 게시 할 수 있을까요? 비록 당신이해야한다고하더라도, 당신은 private 필드를위한 visibility 수정자를 설정하지 않았다고 가정합니다. 그러나, 나는 이런 식으로하는 것을 권장하지 않는다고 말해야한다 ... (아실 리야 스가 나를 이겼다. :)) – ppeterka