我有3个班级:A
,B
和C
,他们都在同一个名称空间中:foo
。我在C
内创建A
的实例:
set object [::foo::C \#auto $param]
$b addObject $object ;# b is a instance of the B
但在B里面我无法使用该对象:
据说:无效的命令名C0
如何创建Itcl对象并将其从一个类传递到另一个类?
答案 0 :(得分:1)
在这种情况下,您需要对象的完全限定名称。
$b addObject [namespace which $object]
只要B不指望不合格的名称,那应该可以正常工作。 (如果B想要恢复非限定名称,请使用namespace tail $fqn
。)