我在使用MXML扩展课程时遇到了一些问题,我将尝试在此解释,但我还上传了Sample Flash Builder Project。
考虑我有两个班级:
game.implementation.base.view.MainView
game.implementation.ipad.view.MainView
请注意,它们的软件包名称略有不同(一个用于ipad)。
我们的想法是ipad
包的类将扩展base
包的类。
按上述方法进行操作会产生错误:
对MainView的不明确引用。 [生成代码(使用-keep保存): 路径: d:\ FlexTests \测试\ BIN调试\生成的\游戏\执行\的ipad \图\ MainView-generated.as, 行:95,栏目:62]
我查看了生成的代码,违规函数是:
_watcherSetupUtil.setup(this,
function(propertyName:String):* { return target[propertyName]; },
function(propertyName:String):* { return /** HERE **/ MainView[propertyName]; },
bindings,
watchers);
我已将问题缩小,我认为这是由以下原因造成的:
有没有办法在不执行上述任何操作的情况下解决此问题?
我不想重命名这些类,显然删除绑定不是一种选择。
答案 0 :(得分:1)
是的,这是编译器中的一个错误,我发现了一个旧的bug问题并克隆了它:
仅在以下情况下发生:
(a)扩展类与基类同名,但是在不同的包中。
(b)扩展类使用数据绑定。
解决方法是重命名其中一个类。