2012-02-14 13 views
-1

私はオブジェクトのすべての変数を宣言の順序でByteArrayに入れたいと思っています。 オブジェクトは1つ拡張することができます。ここ は私のコードです:ActionScript 3でオブジェクトのすべての変数を宣言順にリストする方法はありますか?


private static function getVariables(packet:*): Array 
    { 
     var vars:Array = new Array();   
     var description:XML = describeType(packet); 
     Alert.show(description); 
     var descriptionList:XMLList = 
      description..accessor.(@access != "writeonly") + description..variable; 
     for each (var info:XML in descriptionList) 
     { 
      vars.push({ name: [email protected], type: [email protected], 
       pos: uint([email protected]) }); 
     } 
     vars.sortOn("pos", Array.DESCENDING); 
     return vars; 
    } 

    public static function print():void 
    { 
     var o:C = new C(); 
     var description:XML = describeType(o); 
     Alert.show(description); 
    } 

    public class A 
    { 
     public var a_of_A:int; 
     public var b_of_A:int; 
    } 
    public class B extends A 
    { 
     public var i_of_B:int; 
     public var j_of_B:int; 
    } 
    public class C extends B 
    { 
     public var d_of_C:int; 
     public var e_of_C:int; 
    } 

<type name="packet::C" base="packet::B" isDynamic="false" isFinal="false" isStatic="false"> 
    <extendsClass type="packet::B"/> 
    <extendsClass type="packet::A"/> 
    <extendsClass type="Object"/> 
    <variable name="j_of_B" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="110"/> 
     </metadata> 
    </variable> 
    <variable name="i_of_B" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="84"/> 
     </metadata> 
    </variable> 
    <variable name="e_of_C" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="110"/> 
     </metadata> 
    </variable> 
    <variable name="b_of_A" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="81"/> 
     </metadata> 
    </variable> 
    <variable name="d_of_C" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="84"/> 
     </metadata> 
    </variable> 
    <variable name="a_of_A" type="int"> 
     <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="55"/> 
     </metadata> 
    </variable> 
    <metadata name="__go_to_definition_help"> 
     <arg key="pos" value="54"/> 
    </metadata> 
    </type> 

ための "POS" を何?

答えて

0

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html#sortOn ....私は、XMLを印刷しようが、私は "POS" の意味を見つけることができません)

AS3 function sortOn(fieldName:Object, options:Object = null):Array 

だから、 "POS" はフィールド名です。

+1

"pos"のように見えるのは、宣言の順番を意味するものではありません。 – Terry

+0

'describeType'メソッドは、クラスに関する情報を含むxmlを返します。出力をプリントアウトしてみてください。 – vulkanino

+0

私はxmlを投稿し、それを把握することはできません。 – Terry

関連する問題