salut,
J'essaie de restreindre l'utilisation d'un tableau à un seul type d'objet à la fois.
Je voudrais pouvoir passer un type dans le constructeur et faire une vérification de type sur tous les objets ajoutés par la suite.
J'ai écrit ça en priant très fort...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| package app.data
{
public class DataArray extends Array
{
private var _type:Class;
public function DataArray(type:Class)
{
super(false);
this._type = type;
}
public function addItem(item:Object):void{
if (item is _type){
var newItem:_type = item as _type;
this[newItem.ID] = newItem;
}else{
throw new Error("Item is not expected Type. Should be : " + _type.toString() );
}
}
public function getItemByID(id:Number):*{
return this[id] as _type;
}
}
} |
mais, oh quelle surprise!!
j'ai une erreur de compilation... 
Ce type est introuvable ou n'est pas une constante de compilation : _type.
Une idée comment faire pour restreindre l'utilisation de Array sur un seul Type?
(je sais qu'il existe la classe Vector mais je préfère utiliser Array car les index ne doivent pas nécessaire être consécutifs)
Partager