Actionscript 3 错误:找不到类型或类型不是编译时常量:ByteArray,但它';它是进口的

Actionscript 3 错误:找不到类型或类型不是编译时常量:ByteArray,但它';它是进口的,actionscript-3,compiler-errors,bytearray,flex3,flashdevelop,Actionscript 3,Compiler Errors,Bytearray,Flex3,Flashdevelop,我不熟悉ActionScript和Flash 我编写了以下类并导入了另一个名为“ByteArray”的util类 这是我的代码: package com.brokenfunction.json { import flash.utils.ByteArray; public const decodeJson:Function = initDecodeJson(); } function initDecodeJson():Function { var position:ui

我不熟悉ActionScript和Flash

我编写了以下类并导入了另一个名为“ByteArray”的util类

这是我的代码:

package com.brokenfunction.json
{
    import flash.utils.ByteArray;

    public const decodeJson:Function = initDecodeJson();
}

function initDecodeJson():Function
{
    var position:uint = 0;
    var byteInput:ByteArray = null;
    var char:uint = 0;
    var nativeJson:Object = null;
}
.....
当我尝试编译时,出现以下错误:

C:\Desktop\..\decodeJson.as(11): col: 18 Error: Type was not found or was not a compile-time constant: ByteArray.
   var byteInput:ByteArray = null
                 ^
为什么会这样?我已经导入了“flash.utils.ByteArray” 我的SDK版本有问题吗?(“Flex SDK 4.6”) 我是否缺少SDK中的类


感谢您的回答

如果您的方法initDecodeJson超出了类定义,那么您需要再次导入它。您导入的是packageI中的一个,我已将“flash.utils.ByteArray”导入到我所有的og类中。然而,我收到了同样的错误。你没有正确阅读第一条评论,请再读一遍,然后应用所说的内容。由于某些原因,您喜欢在包范围外定义方法,因此需要确保导入的类位于包范围外的范围内。最好不要在包范围外定义方法,这样做毫无好处。