카테고리 없음

[액션 스크립트 -3] AS3 TypedDictionary?

행복을전해요 2021. 2. 9. 10:01

내가 당신이 요구하는 것을 이해한다면.
이것은 테스트되지 않은 코드이므로 오류가 발생할 수 있지만 올바른 경로로 이동해야합니다.

 public dynamic class TypedDictionary extends Dictionary {
    private var _type:Class;
    
        public function TypedDictionary(type:String, weakKeys:Boolean = false) {
                _type =  getDefinitionByName(type) as Class;
                        super(weakKeys);
                            }
                            
                                public function addValue(key:Object, value:*):void {
                                        if(_type == getDefinitionByName(getQualifiedClassName(value))){
                                                    this[key] = value;
                                                            }else{
                                                                        trace('failed type match')
                                                                                }
                                                                                    }
                                                                                    
                                                                                        public function getValue(key:Object):*{
                                                                                                return this[key];
                                                                                                    }
                                                                                                    ...
                                                                                                    
                                                                                                    
                                                                                                    var td:TypedDictionary = new TypedDictionary("com.somepackage.myClass", true);
                                                                                                    td.addValue("first", new myClass());
                                                                                                    
                                                                                                    var item:myClass = td.getValue("first");
                                                                                                    item.someFunction();
                                                                                                    


출처
https://stackoverflow.com/questions/22050357