J'ai une classe nomme Box. Je veux lister toutes les proprietes comme ca dans output panel du flash en utilisant le for in

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
propriete nom: maxHeight
propriete valeur: 250
property nom: maxWidth
property valeur: 250

Voici le code:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
class Box {
public static var maxWidth:Number = 250;
public static var maxHeight:Number = 250;
}
 
 // avec for on listes toutes les proprietes de la classe Box
 
// on liste les valeurs des dates membre de la classe Box avec for-in
for (var prop:String in Box) 
{
trace("propriete nom: " + prop);
trace("propriete valeur: " + Box[prop]);
}
Mais il me renvoie cette erreur quand je lance avec CTRL+ENTER:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Classes may only be defined in external ActionScript 2.0 class scripts.
Comme vous voyez j'ai mis le for-in dans l'exterieur de ma classe Box.

Pouvez-vous corriger mon code svp pour obtenir dans l'output ce que je veux?

J'ai aussi la meme erreur pour une classe dynamique avec le mot reserve dynamic:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
dynamic class Box {
public var width:Number = 15;
public var height:Number = 15;
}
 
// Creation d'une instance
var b:Box = new Box( );
// ajout de la propriete dynamique de l'instance
b.newProp = "hello world";
// enumeration des proprietes
for (var prop in b) {
trace("propriete nom: " + prop);
trace("propriete valeur: " + b[prop]);
}
 
Je veux obtenir comme output ca:
 
//propriete nom: newProp
//propriete valeur: hello world
Erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Classes may only be defined in external ActionScript 2.0 class scripts.