2013-09-02 6 views
0

나는 세 클래스가 있습니다 : A, BC, 그들은 모두 동일한 네임 스페이스 : foo입니다. 그것은 말했다 것 :한 클래스에서 다른 클래스로 itcl 객체를 전달하는 방법은 무엇입니까?

set object [::foo::C \#auto $param] 
$b addObject $object ;# b is a instance of the B 

그러나 BI 내부의 개체를 사용할 수 없습니다 : 나는 CA 내부의 인스턴스 생성 잘못된 명령 이름을 C0 Itcl 객체를 생성하고 다른 하나 개의 클래스에서 그것을 전달하는 방법을

?

답변

1

이 경우 개체의 정규화 된 이름이 필요합니다.

$b addObject [namespace which $object] 

B는 정규화되지 않은 이름을 기대하지 않는 한 정상적으로 작동합니다. B가 비정규 화 된 이름을 복구하려면 namespace tail $fqn을 사용하십시오.