2012-01-28 30 views
0

我在as3中有一個自定義的按鈕,並且我想打印所有可用的方法。我該怎麼做?在as3中打印組件的可用方法

+0

在運行時還是在comile時間之前? – annonymously 2012-01-28 02:07:09

+0

在運行時請,也許只打印方法,當我做CRTL + ENTER – cMinor 2012-01-28 02:07:35

+0

你爲什麼要這麼做?除了在任何真實世界的應用程序中都沒有用之外,它還會讓你的方法可以看到所有播放電影的人: -/ – 2012-01-28 04:52:12

回答

3

您可以使用內置的功能describeType做到這一點。只需傳入一個類型,它就會返回一個XML對象,其中不僅包含方法,還包含變量,訪問器等等。有關更多信息,請參閱doc

+0

+1爲正確的答案。 – weltraumpirat 2012-01-28 11:08:18

0
for (var f:Function in yourObject) { 
    // Do stuff here 
} 

試一下

+0

我試過了(var f:btn中的函數){ \t \t trace F); \t}'但是得到了錯誤1067:將一個String類型的值隱式強制轉換爲一個不相關的類型Function。 – cMinor 2012-01-28 02:12:09

+0

這是因爲沒有函數到字符串的隱式轉換。嘗試'trace(f.toString());' – annonymously 2012-01-28 02:13:44

+0

是的,我試過了,但是現在得到'1061:通過一個靜態類型Function的引用調用一個可能未定義的方法toString.' – cMinor 2012-01-28 02:15:24

2

你要找的答案是:

for(var prop:String in obj) { 
    if(obj[prop] is Function) trace(prop); 
} 
+0

這隻適用於動態對象,不適用於自定義類的實例。 – weltraumpirat 2012-01-28 11:06:32