1

我的一个 XPCOM 组件利用了其他 XPCOM 组件。当我测试它时,我发现它的依赖关系很麻烦。然后我想到了使用依赖注入在我的构造函数中传递其他组件。我没有成功。是否可以将其他组件的引用传递给您的构造函数?

 var _foo = Components.classes["@foo.com/foo;1"].createInstance(bar);
 this.foo = _foo.QueryInterface(Components.interfaces.IFoo);

例如 foo 组件需要 bar。我可以通过 foo 的构造函数传入 bar 吗?我尝试了上述方法,但没有奏效。

4

1 回答 1

1

是否可以将其他组件的引用传递给您的构造函数?

不,参数tocreateInstance是一个接口;.createInstance(interface).createInstance().QueryInterface(interface).

您的问题的答案在于您在问题中没有描述的区域 - 很可能您不需要从“构造函数”访问其他组件,或者您偶然发现了可以解决的问题,而是“繁琐的 cos的依赖关系”并继续前进。

于 2009-10-16T07:03:50.083 回答