MXML でクラスを拡張するのに問題があります。ここで説明しようと思いますが、サンプル Flash Builder プロジェクトもアップロードしました。
2 つのクラスがあるとします。
game.implementation.base.view.MainView
game.implementation.ipad.view.MainView
パッケージ名が若干異なることに注意してください (1 つは iPad 用です)。
ipad
パッケージのクラスがパッケージのクラスを拡張するという考え方ですbase
。
上記のようにすると、エラーが発生します。
MainView へのあいまいな参照。[生成されたコード (-keep を使用して保存): パス: D:\FlexTests\Tests\bin-debug\generated\game\implementation\ipad\view\MainView-generated.as、行: 95、列: 62]
生成されたコードを確認しました。問題のある機能は次のとおりです。
_watcherSetupUtil.setup(this,
function(propertyName:String):* { return target[propertyName]; },
function(propertyName:String):* { return /** HERE **/ MainView[propertyName]; },
bindings,
watchers);
問題を絞り込みましたが、次のことが原因だと思います。
- 同名の拡張クラス
- MXML でバインディングを使用してクラスを拡張する
上記のいずれも行わずにこれを修正する方法はありますか?
クラスの名前を変更したくないのですが、バインディングを削除することは明らかにオプションではありません。