關於FLEX中的反射

2021-05-08 02:46:02 字數 703 閱讀 3801

2007-08-04

在actionscript 3中,你會發現在flash.utils包中有一系列函式提供了反射的功能。主要包含以下功能:

* 確定物件的類

* 獲取類的成員、方法、建構函式、父類的資訊

* 確定介面宣告的常數和方法

* 在執行時根據類名建立類的例項

* 在執行時根據成員名稱獲取或者設定物件成員的值

* 在執行時根據方法名稱,呼叫物件的方法

你可以使用類似於"describetype"之類的功能,它返回乙個xml物件。舉乙個例子:

package }}

如果你想進一步,根據類名建立物件的例項,我們可以使用"getdefinitionbyname()"

package }}

儘管這是一些非常方便的方法,但是在flashplayer中使用反射還是會有許多的限制,因為缺乏執行時的動態原始碼編譯。上面的功能對於那些在內建的類,比如:sprite類來說無疑是有用的,但是對於自定義類來說,我們會遇到很多麻煩。比如:

package }}

儘管我們使用了import語句,但是"getdefinitionbyname()"還是會失敗。原因上面已經說過了,在執行時編譯源**是不允許的。也許以後可以。在目前情況下,要實現上述功能,至少要在**中初始化乙個類的例項。也就是宣告乙個類的例項:

var customtype : com.customtypes.string;

關於flex的反射

最近公司要求做乙個通用的flex元件,通過配置xml配置檔案來動態的生成flex介面 flex有反射技術,於是遍採用配置類名通過反射生成ui類並在介面上做展示 private function reflectcomponent xml xml uicomponent 這段 看似沒有問題,但是卻就是不...

Flex反射工具類

原文 基於flex的反射工具類,在平常用的比較少,但是在使用反射機制填充as物件屬性等時候還是很有用的。package com.shine.framework.core.util 獲取class的object package classname public static function refe...

關於Flex中的資料更新

現在才發現,利用flex做 開發是一件極其痛苦的事情。flex已經完全改變了傳統的 開發中的思路。flex用sharedobject取代了session,用state取代了超鏈。但是,不可否認,flex提供了十分豐富的元件庫,還有一些開源的元件可用。如果認真做下來,最後 效果還是很不錯的 說一下在f...