2010-06-11 41 views
4

我嘗試在Flex中使用它們的私有屬性序列化對象。Flex:你如何列出一個類的私有屬性?

introspection API似乎不允許它: 「describeType()方法只返回公共成員。該方法不返回調用者的超類的私有成員或任何其他類,其中調用方不是實例。

實例是否有另一種方法知道其私有成員的名稱?

回答

3

不幸的是,describeType()方法是在Flex中進行自省的唯一方法。人們已經爲它編寫了包裝,如果你想進行自省,那麼我建議as3-commons-reflection,但是沒有辦法列出類的私有屬性,並且無法訪問它們,即使你可以列出它們。

+0

感謝有關as3-commons-reflection的提示。 「,即使您可以列出它們,也無法訪問它們。」 :我想過在每個必須序列化的類中添加一個名爲「save()」的方法。這個方法的代碼將被包含(在as3中包含指令)。所以最好的做法是包含一個列出私有屬性的通用代碼,並保存它們的值。知道屬性的名稱,訪問它們的值不是問題(因爲save()也是在類中)。但是列出私有屬性的名字似乎是不可能的:o( – mensonge 2010-06-14 10:05:46

+0

我曾想過寫一些關於顯式序列化函數的東西,但這並不總是有效的 - 如果你需要使用私有屬性對框架對象進行序列化,那麼你就出來了運氣:(。 – 2010-06-14 11:10:04

相關問題