1
有沒有辦法獲得當前應用程序中的所有類。假設你創建了一個空白的應用程序,並希望看到所有存在的類,這將列出系統管理器,應用程序,組件等。在Flex 4中,有一種方法可以獲取域中的所有類?
有沒有辦法獲得當前應用程序中的所有類。假設你創建了一個空白的應用程序,並希望看到所有存在的類,這將列出系統管理器,應用程序,組件等。在Flex 4中,有一種方法可以獲取域中的所有類?
不幸的是,標準中沒有提供域中的類列表反射API。
但是,AS3 Commons Bytecode library存在,它能夠讀取當前應用程序的字節碼(或任何字節碼)並解析它,從而提供對域中所有當前類的訪問。 (隨着一大堆其他很酷的東西)。
有一個例子顯示如何做here之後。
使用此庫的缺點是,您必須在運行時重新加載和解析數據,這具有顯着的性能成本。
James Ward和Mike Labriola在修改SWF加載程序方面做了一些工作,這些加載程序將初始字節碼加載到Flex應用程序中,以便反射在啓動時執行,從而減少了解析字節碼兩次的需要。
詹姆斯博客了他的結果here。
不是一個正確的答案,但我記得能夠枚舉'_global'的內容在運行時查看使用/活動類。 – ocodo
我可以問什麼目的? –
@Slomojo - 我會檢查一下。謝謝。 –