Flex:将父类加载到模块中

时间:2013-01-28 17:54:05

标签: flex module

我的主应用程序包含ClassA。然后主应用程序加载一个模块,在那个模块中我想做:

var classA:InterfaceClassA = new ClassA();

它编译得很好,但我收到了这个警告:

Warning: YourApplication is a module or application that is directly referenced. This will cause YourApplication and all of its dependencies to be linked in with module.YourModule:Module. Using an interface is the recommended practice to avoid this.

我无法使用接口生成新实例,那么正确的方法是什么?

1 个答案:

答案 0 :(得分:0)

我在Accessing the parent application from the modules 找到了答案。我在主Application中创建了一个帮助器类,它包含我想要访问的类的实例。然后在模块中我使用:

parentApplication.myModuleHelper.**myClassInstance**.myMethod();

例如我使用的方法和静态类级别方法:

parentApplication.myModuleHelper.**MyClassInstance**.myMethod()

要在模块中获取我的类的实例,我在MyModuleHelper

中使用它
public function getFullScreenUtil(iFullScreenUtil:IFullScreenUtil , iSystemManager:ISystemManager):FullScreenUtil {
    return new FullScreenUtil(iFullScreenUtil , iSystemManager);
}

,这在MyModule中:

var _fullScreenUtil:* = parentApplication.moduleHelper.getFullScreenUtil(this , systemManager);

这就是我现在所需要的一切。我不确定如何将getFullScreenUtil(..)的结果转换为FullScreenUtil的实际实例,但我希望它不能在模块中完成。也许使用接口可以提供解决方案。