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);
    }
}

これにより、エラー#1056が発生します。

m_cdictNearIDs = new CDictionary();
m_cdictNearIDs[4] = "f";

しかし、これはしません:

m_cdictNearIDs = new Dictionary();
m_cdictNearIDs[4] = "f";

(いずれの場合も、インスタンス化されたのと同じタイプであると宣言されたメンバー変数です。)Wth?辞書から継承する秘訣は何ですか?ありがとう!

4

1 に答える 1

6

dynamicクラスを次のように定義する必要があります。

package
{
    import flash.utils.Dictionary;

    public dynamic class CDictionary extends Dictionary
    {
        public function CDictionary(weakKeys:Boolean=false)
        {
            super(weakKeys);
        }
    }
}
于 2012-11-13T16:49:48.370 に答える