0

在代码其他地方的另一个类中,我想访问Foo.bar. 结果将包含[ "a", Number ]and[ "b", String ]以一种或另一种形式。

public class Foo
{
    ...
    public function bar(a:Number, b:String):void
    {
        ...
    }
}
4

1 回答 1

4

AS3 有一个方法叫做describeType

如果你调用describeType(Foo)上面的例子,你会得到:

<type name="Foo" base="Class" isDynamic="true" isFinal="true" isStatic="true">
  <extendsClass type="Class"/>
  <extendsClass type="Object"/>
  <accessor name="prototype" access="readonly" type="*" declaredBy="Class"/>
  <factory type="Foo">
    <extendsClass type="Object"/>
    <method name="bar" declaredBy="Foo" returnType="void">
      <parameter index="1" type="Number" optional="false"/>
      <parameter index="2" type="String" optional="false"/>
      <metadata name="__go_to_definition_help">
        <arg key="pos" value="51"/>
      </metadata>
    </method>
    <metadata name="__go_to_definition_help">
      <arg key="pos" value="23"/>
    </metadata>
  </factory>
</type>

现在,您可以使用 AS3 的XMLclass 和 e4x 找到带有名称的方法的定义bar并抓取parameter元素。

于 2013-10-24T21:30:14.083 回答