【问题标题】:Problem with create object when know object's class name知道对象的类名时创建对象的问题
【发布时间】:2010-12-23 14:03:28
【问题描述】:

当我得到这个类的名称时,我正在尝试创建类的实例。 我认为更好地解释我的问题将是这段代码:

package  
{

import flash.utils.getDefinitionByName;
public class SomeClass extends ParentClass
{
[Embed(source='../assets/gfx/levelImg/level0.png')]
public static const Level0Img:Class; 

public function someFunction():void
{
var imgString:String = "Level0Img";
var imgClass:Class = getDefinitionByName(imgString) as Class;

}
}

我调用 someFunction,我得到错误:[Fault] 异常,信息=ReferenceError:错误 #1065:未定义变量 Level0Img。

这有什么问题? }

【问题讨论】:

    标签: actionscript-3 oop reflection


    【解决方案1】:

    您正在声明一个嵌套类。无法通过您提供的名称找到定义。

    试试这个:

    (...)
    public class SomeClass extends ParentClass
    {
        [Embed(source='../assets/gfx/levelImg/level0.png')]
        public static const Level0Img:Class; 
    
        public function someFunction():void
        {
            var imgString:String = "SomeClass_Level0Img";
            var imgClass:Class = getDefinitionByName(imgString) as Class;
        }
    (...)
    

    【讨论】:

      【解决方案2】:

      你为什么不直接写var imgClass:Class = Level0Img;
      这比猜类名要好...

      【讨论】:

        猜你喜欢
        • 2010-09-22
        • 1970-01-01
        • 1970-01-01
        • 2021-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-06
        相关资源
        最近更新 更多