Flexでは、アプリケーション全体で使用されるUIコンポーネントのディクショナリを保持する変数を作成したいと思います。理想的には、idのコンポーネントを返すアプリケーションコンポーネントに関数があります。
public function getComponent4Id(id:String):UIComponent {}
次に、次の行を使用してコンポーネントにアクセスします。
var myComponent:UIComponent = FlexGlobals.topLevelApplication.getComponent4Id("someId");
ここで、唯一の問題は次のとおりです。返されるコンポーネントを読み取り専用にします。アプリケーションの隅々からmyComponent
のいくつかのプロパティを読み取ることは非常に便利ですが、開発者がそれを悪用してmyComponentを変更することは望ましくありません。
myComponentのコピーを返すことは可能ですか?それとも、どういうわけか読み取り専用にすることは可能ですか?