public int Set(IntPtr L)
{
try
{
int count = LuaDLL.lua_gettop(L);
if (count == 3 && TypeChecker.CheckTypes(L, 2, kclass, typeof(object)))
{
object arg0 = ToLua.ToVarObject(L, 2);
object arg1 = ToLua.ToVarObject(L, 3);
arg1 = TypeChecker.ChangeType(arg1, field.FieldType);
field.SetValue(arg0, arg1);
return 0;
}
else if (count == 6 && TypeChecker.CheckTypes(L, 2, kclass, typeof(object), typeof(uint), typeof(Binder), typeof(CultureInfo)))
{
object arg0 = ToLua.ToVarObject(L, 2);
object arg1 = ToLua.ToVarObject(L, 3);
BindingFlags arg2 = (BindingFlags)LuaDLL.lua_tonumber(L, 4);
Binder arg3 = (Binder)ToLua.ToObject(L, 5);
CultureInfo arg4 = (CultureInfo)ToLua.ToObject(L, 6);
arg1 = TypeChecker.ChangeType(arg1, field.FieldType);
field.SetValue(arg0, arg1, arg2, arg3, arg4);
return 0;
}
else
{
return LuaDLL.luaL_throw(L, "invalid arguments to method: LuaField.Set");
}
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}