我的 ActionScript 项目中有 2 个类;主要和内容管理器。我希望将 Main 传递给 ContentManager,因为我想首先实例化 Main,将控制权传递给 ContentManager 中的一个方法,之后控制权应该返回给 Main。
我通过实例化在 Main 的构造函数中执行此操作
contentManager = new ContentManager(this);
内容管理器的构造函数内部
public class ContentManager(_main:Main) {
this.main = _main;
}
然后
this.main.setData(data);
在 Main 中,setData 是
public function setData(data:Object):void
{
versionData = data;
}
我收到一个我觉得奇怪的编译器警告。Flash Builder 在 ContentManager 中为我自动完成 setData,表明它可以通过 this.main 看到它。而且我还可以在运行期间访问 main 中的变量,例如
main.somePublicVar = "foo";
但是调用 setData 作为方法会给出:
Attempted access of inaccessible method setData through a reference with static type Main.
从那以后,我尝试了其他几个电话:
main.toString();
main.addChild(null);
main.setData(null);
前两个工作正常,第三个,我的,因错误而失败。彻底迷失了。
干杯