2011-10-17 2 views
1

현재 응용 프로그램의 모든 클래스를 가져 오는 방법이 있습니까? 예를 들어 빈 응용 프로그램을 만들고 존재하는 모든 클래스를보고 싶다고 가정하면 시스템 관리자, 응용 프로그램, uicomponent 등이 표시됩니다.Flex 4에는 도메인의 모든 클래스를 가져 오는 방법이 있습니까?

+0

정답은 아니지만 런타임에 사용/활성 클래스를보기 위해'_global'의 내용을 열거 할 수 있다는 것을 상기합니다. – ocodo

+0

어떤 목적으로 요청할 수 있습니까? –

+0

@Slomojo - 나는 그것을 조사 할 것이다. 감사. –

답변

3

불행하게도 도메인의 클래스 목록은 표준에서 사용할 수 없습니다 리플렉션 API.

그러나 현재 응용 프로그램 (또는 해당 문제의 바이트 코드)의 바이트 코드를 읽고 구문 분석하여 도메인의 현재 클래스에 대한 액세스를 제공 할 수있는 AS3 Commons Bytecode library이 있습니다. (다른 멋진 것들과 함께).

here을 수행하는 방법을 보여주는 예가 있습니다.

이 라이브러리를 사용하는 단점은 런타임에 데이터를 다시로드하고 구문 분석해야하기 때문에 상당한 성능 비용이 발생한다는 것입니다.

James Ward와 Mike Labriola는 초기 바이트 코드를로드하는 SWF 로더를 수정하여 시작시 반사가 수행되도록 바이트 코드를 두 번 파싱해야하는 필요성을 줄이기 위해 일부 작업을 수행했습니다.

제임스는 그의 결과에 대해 블로그 here에 블로그를했습니다.

관련 문제