2012-05-05 17 views
1

设置一个静态属性上一个类的实例。例如,我有多个类,像这样:如何获得或在ActionScript3的

MyClassA.propertyAlpha
MyClassB.propertyTango
MyClassC.propertyBravo
MyClassD .propertyBeta
MyClassE.propertyCharlie
MyClassF.propertyRoger
MyClassG.propertyWilco

我得到一个在上述类型之一的类的立场和一个静态属性的名称(无所谓为什么)。

如何获取或设置只有该信息的静态属性(无所谓为什么)?

回答

3

您无法直接在实例上访问该值。它是它的类的一个属性,因此它必须被访问。

有两种方法可以做到这一点。

要么使用constructor属性:

function getStaticProperty(instance:Object, property:String) : * { 
    return instance.constructor[property]; 
} 

或者使用getQualifiedClassNamegetDefinitionByName拿到类,然后获得属性值:

function getStaticProperty(instance:*, property:String) : * { 
    var className:String = getQualifiedClassName(instance).replace("::","."); 
    var clazz:Class = getDefinitionByName(className) as Class; 
    return clazz[property]; 
} 
+0

太好了!谢谢 –

相关问题