Pan*_*sis 3 apache-flex inheritance dictionary actionscript-3
给出以下代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
这引发了错误#1056:
m_cdictNearIDs = new CDictionary();
m_cdictNearIDs[4] = "f";
Run Code Online (Sandbox Code Playgroud)
但这不是:
m_cdictNearIDs = new Dictionary();
m_cdictNearIDs[4] = "f";
Run Code Online (Sandbox Code Playgroud)
(在每种情况下,它都是一个成员变量,它被声明为与它实例化的相同类型.)Wth?继承字典的诀窍是什么?谢谢!
您必须将您的班级定义为dynamic:
package
{
import flash.utils.Dictionary;
public dynamic class CDictionary extends Dictionary
{
public function CDictionary(weakKeys:Boolean=false)
{
super(weakKeys);
}
}
}
Run Code Online (Sandbox Code Playgroud)