2 つの別々.swf
のA
との間でリクエストを送信する必要がありB
ます。私は次の方法でinterface
、を持っIRequest
ています:
public interface IRequest {
function get packagePath():String;
function get className():String;
function get functions():Vector.<String>;
function get parameters():Array;
function execute():void;
}
クラスで実装しRequest
ます。次のように新しいリクエストを作成できます。
RequestManager.addToQueue(new Request("com.myPackage", "MyClass", "instance.method1.method2", "parameter"));
これによりRequest
、指定されたpackage
、class
-name、list of functions
およびで新しい が作成されparameters
ます。
一連のfunction
-call と、 afunction
が実際に afunction
またはproperty
( public function getMyThing():Object
vs public function get myThing():Object
) であるかどうかを判断すると、事態は複雑になります。
たとえば、目的が次の場合、物事は十分に単純Request
ですnew Request("com.myPackage", "MyClass", "getInstance", "");
そのメソッドの呼び出しは次のように簡単です。
var theClass:Class = getDefinitionByName(packagePath + "." + className) as Class;
var theInstance:Object = theClass[functions[0]](); // Invokes com.myPackage.MyClass.getInstance()
ただし、これは/の場合getInstance
は機能しません。また、多数のメソッド呼び出しがある場合、1 回の呼び出しでチェーンを呼び出す方法がわかりません。例えば:property
getter
var theClass:Class = getDefinitionByName(packagePath + "." + className) as Class;
var object = theClass[functions[0]]()[functions[1]()[functions[2](); // Invokes com.myPackage.MyClass.firstMethod.secondMethod.thirdMethod()
[
ただし、これを動的に行う必要があり、それらを動的にチェーンする簡単な方法がわかりません]
。
からメソッドを呼び出すことができる良い方法を誰かが知っているならString
、それは本質的に私がやりたいことです。
"com.myPackage.MyClass.firstMethod.secondMethod.thirdMethod()", parameters
助けてくれてありがとう、