2008-10-08 2 views

답변

1

프록시에서 queryInterface()으로 전화하십시오. 기본 COM 객체가 프록시 인터페이스를 구현하지 않으면 예외가 발생합니다.

0

프록시 클래스가 (생성 된) 인터페이스를 구현하는 경우 해당 객체가 instanceof인지 확인할 수 있습니까?

+0

아니요. 생성 된 프록시 클래스가 자바 규칙을 따르지 않습니다. 하나의 인터페이스에서 다른 인터페이스로 객체를 대치하려면 다음과 같이해야합니다.
ISomeInterface = new ISomeInterfaceProxy (someObject);
그러나이 작업은 메서드 호출에 실패하고 만들 때 실패합니다. –

+0

더 나쁜 것은 ... 인터페이스 A와 B를 확장하는 인터페이스 "C"를 사용하면 더 이상한 동작을 얻을 수 있습니다. "C"의 프록시는 A xor B 만 구현하는 모든 객체에서 작동하며 구현되지 않은 인터페이스에있는 메소드를 누를 때까지 실패하지 않습니다. Grrr! –

관련 문제