2012-02-12 12 views
0

私はクラス名some.path.exampleclassを持ち、getDefinitionByName()のようにクラスをインスタンス化する必要があります。 some.path.exampleclassは、カスタムコンポーネントに渡す:完全な名前のクラスを作成し、それをカスタムコンポーネントに渡します。

<tools:MyComp value="some.path.exampleclass"/> 

は、このための迅速な解決策はあります問題は、getDefinitionByName()はクラスでExampleClassを行い、私は完全な名前を持つクラスが必要だということでしょうか? :)

+1

解決策を探している問題を理解できません。より明確にするために質問を書き直すことをお勧めします。 – JeffryHouser

+0

フォームHTTPservice assets.some.classのようになります。それから、私は次のようなことをします:var clazz:Class = getDefintionByName(data.url) itemRenderer ...次に、コンポーネントにclazzを渡す必要がありますが、フルパス "assets.some.class"とgetDefinitionByNameは私に "クラス"のみを与えます。 – sallex

+0

または、具体的には、FXGイメージクラスを表示するコンポーネントに渡す必要があります。そのコンポーネントのSetterメソッドは、getDefinitionByNameが私に与えるものだけでなく、フルパスクラスで設定する必要があります... – sallex

答えて

0

あなたが意図している場合は、それはあなたがこのようにそれを行うことができ、完全修飾クラス名です表す文字列に基づいてFXG要素のインスタンスを作成することです:

var classNameString :String = // your code to get the classname; 
var class :Class = getDefinitionByName(className) as Class; 
var newObject : MyObject = new class() as MyObject; 

これは完璧に動作するはずですFXG要素でうまくいく。私は私のモバイルゲームでそれを使用します。あなたがいることを言及

セッターメソッド... getDefinitionByNameは

を与える1 getDefinitionByNameでフルパスクラス ないだけで設定する必要はクラスのインスタンスを返します。あなたのメソッドがgetDefinitionByNameが機能しない理由である文字列を期待している場合。

詳細については、必要に応じて、メソッドまたはプロパティの完全なソースコードを提供する必要があります。

関連する問題