diff --git a/Assets/XLua/Src/CodeEmit.cs b/Assets/XLua/Src/CodeEmit.cs index 50e36c45af9f8897440149ef307335f37984d35a..119987d5eb60d925b609f11d2e7ac7ead1841097 100644 --- a/Assets/XLua/Src/CodeEmit.cs +++ b/Assets/XLua/Src/CodeEmit.cs @@ -673,10 +673,14 @@ namespace XLua { il.Emit(OpCodes.Ldc_I4, Convert.ToInt32(obj)); } - else if (typeof(long) == type || typeof(ulong) == type) + else if (typeof(long) == type) { il.Emit(OpCodes.Ldc_I8, Convert.ToInt64(obj)); } + else if (typeof(ulong) == type) + { + il.Emit(OpCodes.Ldc_I8, (long)Convert.ToUInt64(obj)); + } else if (typeof(IntPtr) == type || typeof(IntPtr) == type) { il.Emit(OpCodes.Ldloca, localIndex);