鉴于以下代码:

import flash.utils.Dictionary;

import mx.collections.ArrayCollection;
import mx.controls.Alert;

public class CDictionary extends Dictionary
{
    public function CDictionary(weakKeys:Boolean=false)
    {
        super(weakKeys);
    }
}

这会引发错误 #1056:
m_cdictNearIDs = new CDictionary();
m_cdictNearIDs[4] = "f";

但这不是:
m_cdictNearIDs = new Dictionary();
m_cdictNearIDs[4] = "f";

(在每种情况下,它都是一个成员变量,声明为与它实例化的类型相同。)什么?从字典继承的技巧是什么?谢谢!

最佳答案

您必须将类定义为 dynamic :

package
{
    import flash.utils.Dictionary;

    public dynamic class CDictionary extends Dictionary
    {
        public function CDictionary(weakKeys:Boolean=false)
        {
            super(weakKeys);
        }
    }
}

关于actionscript-3 - 从 AS3 中的 Dictionary 继承的技巧是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13364875/

10-11 01:50