2
개체를 가져 와서 반복하는 메서드가있는 클래스를 가져 와서 개체 값을 클래스에 할당합니다. 이것은 응용 프로그램에서 상당히 발생할 수 있으며, 객체의 속성 이름을 확인하고 클래스에 할당하기 전에 값 유형을 확인하는 언어가 아닌 효율적이고 바람직하지 않은 구문이 있는지 궁금합니다. 적어도이 코드를 플래시 및 자바 스크립트로 내보낼 필요가 있습니다. 나중에 다른 코드를 따라 할 수도 있습니다. 메소드가 기본 클래스에 있기 때문에이 메소드를 generic으로 유지해야합니다. 아래 라인을 따라 뭔가 :속성 및 유형에 대한 클래스 확인
public function updateProperties(propsObj:Object):void {
for (var prop in propsObj) {
if (/* this has prop && typeof propsObj[prop] == typeof this[prop] */) {
this[prop] = propsObj[prop];
}
}
}
Haxe의 새로운 기능, 그래서 이런 종류의 방법에 대한 일련의 방법을 찾는 데 어려움을 겪고 있습니다. 리플렉션은 내가 찾고있는 것과 가까운 방법을 가지고있는 것처럼 보이지만, 필요한 정보가 너무 많아서 많은 통찰력을 얻기를 바라는 것처럼 보이는 방법이 많이 있습니다.
그것은 당신이 그것을 알아 냈처럼 ... Reflect.setProperty은() Refelct.setField()와 비슷하지만, 당신이 haxe 속성을 상대하고있는 경우에는 추가 점검을 조금 않습니다 보인다 (예를 들어' var myProp (get_myProp, set_myProp) : String'). 속성이 아니라 단순 변수 만 가질 것이라는 것을 알고 있다면 Reflect.setField()가 약간 더 빠를 수도 있습니다. –
'Type.typeof'로 타입을 얻고 그 결과를'Type.enumEq'와 비교할 수 있습니다 (결과 값이 enum이기 때문에). – back2dos
확인해 주셔서 감사합니다. 이 경우 거의 모든 구성 요소에 공통 될 것이므로 어떤 유형의 특성이 설정 될지 알 수 없습니다. 덜 보편적 인 기능을 위해서 setProperty에 대해 알아두면 좋을 것입니다. – Shane