2011-10-17 33 views
1

有沒有辦法獲得當前應用程序中的所有類。假設你創建了一個空白的應用程序,並希望看到所有存在的類,這將列出系統管理器,應用程序,組件等。在Flex 4中,有一種方法可以獲取域中的所有類?

+0

不是一個正確的答案,但我記得能夠枚舉'_global'的內容在運行時查看使用/活動類。 – ocodo

+0

我可以問什麼目的? –

+0

@Slomojo - 我會檢查一下。謝謝。 –

回答

3

不幸的是,標準中沒有提供域中的類列表反射API。

但是,AS3 Commons Bytecode library存在,它能夠讀取當前應用程序的字節碼(或任何字節碼)並解析它,從而提供對域中所有當前類的訪問。 (隨着一大堆其他很酷的東西)。

有一個例子顯示如何做here之後。

使用此庫的缺點是,您必須在運行時重新加載和解析數據,這具有顯着的性能成本。

James Ward和Mike Labriola在修改SWF加載程序方面做了一些工作,這些加載程序將初始字節碼加載到Flex應用程序中,以便反射在啓動時執行,從而減少了解析字節碼兩次的需要。

詹姆斯博客了他的結果here

相關問題