1
當我設置原始Int
類型到Int64
它工作正常。我甚至可以在補充類___Int64
中捕獲構造函數方法,它接受兩個Int
值 - 高和低。看來,這個轉換是靜態的,甚至這樣的代碼工作完美:haxe:投射整數來抽象Int64
var short:Int = 1111;
var long:Int64 = 2222;
long = short;
trace(long.high, long.low); // =0,1111
但是,當我從外地如設置openfl.utils.Object
實例的值:
var id:Int64 = data["id"];
其中"id"
字段的值無論是Int
或Int64
- 我有一個錯誤TypeError: Error #1034: Type Coercion failed: cannot convert 1111 to haxe._Int64.___Int64.
當然,我可以檢查該字段的類型,並能夠正確實例化一個。但是,有沒有一個簡潔的解決方案來自動化類型轉換?
我已經添加了從'Float'的轉換,因爲它是通過JSON創建具有大數字的對象時的常見類型。 – meps