可以在函数参数上使用[ArrayElementType]元数据标记

时间:2010-06-23 08:58:23

标签: flex actionscript-3 actionscript flex4

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

我们以此函数为例:

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

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

3 个答案:

答案 0 :(得分:0)

Flash 10支持向量。

使用Vector.<String>代替;)

答案 1 :(得分:0)

你可以使用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)

似乎无法在参数上应用该属性。如果您尝试应用它,如下所示,您将收到编译器错误。

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