如何将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
)