2012-05-05 5 views
1

에서 클래스의 인스턴스에 정적 속성을 설정 할 .propertyBeta
MyClassE.propertyCharlie
MyClassF.propertyRoger
MyClassG.propertyWilco는 어떻게 예를 들어, 내가 지금처럼 여러 클래스를 얻거나, 액션

나는에서 얻을 위 유형 중 하나의 클래스의 태도와 정적 속성의 이름 (이유는 중요하지 않음).

그 정보만으로 정적 속성을 가져 오거나 설정하는 방법 (이유는 무관)은 무엇입니까?

답변

3

인스턴스에서 직접 값에 액세스 할 수 없습니다. 그것의 클래스의 속성, 따라서 그것은 그것에 액세스해야합니다.

두 가지 방법이 있습니다.

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

대 :

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

또는 클래스를 얻을 getQualifiedClassNamegetDefinitionByName를 사용 다음 속성 값을 얻을 :

constructor 속성을 사용하여 하나! 고맙습니다 –