Lorsque je configure le type Int
primitif sur Int64
, cela fonctionne correctement. Je peux même attraper une méthode constructeur dans la classe supplémentaire ___Int64
qui accepte deux valeursInt
- haute et basse. Il semble que cette coulée est statique et même ce code fonctionne parfaitement:haxe: Conversion des entiers en abstract Int64
var short:Int = 1111;
var long:Int64 = 2222;
long = short;
trace(long.high, long.low); // =0,1111
Mais quand je suis la mise en place valeur d'un champ de openfl.utils.Object
exemple comme:
var id:Int64 = data["id"];
où la valeur du champ "id"
soit Int
ou Int64
- J'ai une erreur TypeError: Error #1034: Type Coercion failed: cannot convert 1111 to haxe._Int64.___Int64.
Bien sûr, je peux vérifier le type de terrain et bien instancier un Int64
de Int
. Mais existe-t-il une solution soignée pour automatiser le moulage de type?
J'ai ajouté la conversion de 'Float' car il est de type commun lors de la création d'objets avec de grands nombres par JSON. – meps