从 AS3 中的 Dictionary 继承有啥技巧?

Posted

技术标签:

【中文标题】从 AS3 中的 Dictionary 继承有啥技巧?【英文标题】:What's the trick to inheriting from a Dictionary in AS3?从 AS3 中的 Dictionary 继承有什么技巧? 【发布时间】:2012-11-02 03:01:10 【问题描述】:

给定以下代码:

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";

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

【问题讨论】:

【参考方案1】:

你必须将你的类定义为dynamic:

package

    import flash.utils.Dictionary;

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

【讨论】:

嗯,显然这实际上取决于您使用的编译器;看这篇文章的第二部分:***.com/questions/8502204/… 我对整个事情感到非常惊讶。嗯,这比我预期的要简单得多。谢谢大佬。 类默认为sealed

以上是关于从 AS3 中的 Dictionary 继承有啥技巧?的主要内容,如果未能解决你的问题,请参考以下文章

AS3中的void有啥用

as3里面的dictionary的遍历

AS3里【TextField】于【TextArea】有啥区别?

Dictionary.Item 和 Dictionary.Add 有啥区别?

Hashtable、Dictionary 和 KeyValuePair 有啥区别?

Dictionary 和 Object 的区别