Flex类似于Java的反射

熟悉Java的朋友都知道反射(reflect),只要拿到对象的Class信息就可以获得它的constructor、fields、methods等信息。但Flex中没有类似的机制。但我们可以将一个对象描述为XML,再通过解析XML信息来间接地获取对象的蛛丝马迹。
主要方法是describeType(object):XML。下面是项目中的一个例子,用来判断:

/**
 * @author liujian
 * 一个对象是否包含某个属性
 * */
public static function isHaveAttribute(object:*, attributeName:String):Boolean{
    var flag:Boolean = false;
    var objXML:XML = describeType(object);
    var xmlList:XMLList = (objXML.variable.length()==0)?objXML.accessor:objXML.variable;
    for each(var eachXML:XML in xmlList){
        if(eachXML.@name == attributeName){
            flag = true;
            break;
        }
    }
    return flag;
}
原文地址:https://www.cnblogs.com/radio/p/3043111.html