如何将itcl对象从一个类传递到另一个类?

如何将itcl对象从一个类传递到另一个类?,tcl,itcl,Tcl,Itcl,我有三个类:a、B和C,它们都在同一个命名空间中:foo。我在A内部创建了C的一个实例: set object [::foo::C \#auto $param] $b addObject $object ;# b is a instance of the B 但在B内部,我不能使用对象: 上面说:无效的命令名C0 如何创建Itcl对象并将其从一个类传递到另一个类?在这种情况下,您需要对象的完全限定名 $b addObject [namespace which $object] 只要B不需

我有三个类:
a
B
C
,它们都在同一个命名空间中:
foo
。我在
A
内部创建了
C
的一个实例:

set object [::foo::C \#auto $param] 
$b addObject $object ;#  b is a instance of the B
但在B内部,我不能使用对象: 上面说:无效的命令名
C0


如何创建Itcl对象并将其从一个类传递到另一个类?

在这种情况下,您需要对象的完全限定名

$b addObject [namespace which $object]
只要B不需要一个不合格的名称,就可以了。(如果B希望恢复非限定名称,请使用
名称空间尾部$fqn