代码之家  ›  专栏  ›  技术社区  ›  Branislav Abadjimarinov Ivan Choo

[ArrayElementType]元数据标记能否用于函数参数

  •  1
  • Branislav Abadjimarinov Ivan Choo  · 技术社区  · 15 年前

    当数组是函数参数时,可以使用什么语言构造对数组元素类型进行编译时检查?

    [ArrayElementType("String")]
    private function GetNumberArray(parameter:Array):Array {
       var myData:Array = [1.0, 2.0, 3.0];
       return myData;
    }
    

    这里我们将返回的数组标记为包含string类型元素的数组。 有没有办法标记 parameter 变量作为包含特定类型元素的数组? 我对数组集合特别感兴趣。我知道向量集合,但我有理由不在我的情况下使用它。

    3 回复  |  直到 15 年前
        1
  •  0
  •   James Fassett    15 年前

    你需要一个 Vector ,但其类型与数组稍有不同:

    private function GetNumberArray(parameter:Vector.<String>):Vector.<int> {
        var myData:Vector.<int> = Vector.<int>([1.0, 2.0, 3.0]);
        return myData;
    }
    
        2
  •  0
  •   Branislav Abadjimarinov Ivan Choo    15 年前

    似乎无法对参数应用属性。如果您试图应用它如下所示,您将得到编译器错误。

    [ArrayElementType("String")]
    private function GetNumberArray(
       [ArrayElementType("String")] 
       parameter:Array):Array
    {
       var myData:Array = ["1.0", "2.0", "3.0"];
       return myData;
    }
    
        3
  •  0
  •   P Varga    12 年前

    flash10支持向量。

    使用 Vector.<String> 相反;)

    推荐文章