static int __CreateInstance(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); if (LuaAPI.lua_gettop(L) == 4 && translator.Assignable <System.Type>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4)) { System.Type _nominalType = (System.Type)translator.GetObject(L, 2, typeof(System.Type)); bool _serializeAsNominalType = LuaAPI.lua_toboolean(L, 3); bool _serializeIdFirst = LuaAPI.lua_toboolean(L, 4); MongoDB.Bson.Serialization.BsonSerializationArgs gen_ret = new MongoDB.Bson.Serialization.BsonSerializationArgs(_nominalType, _serializeAsNominalType, _serializeIdFirst); translator.Push(L, gen_ret); return(1); } if (LuaAPI.lua_gettop(L) == 1) { translator.Push(L, default(MongoDB.Bson.Serialization.BsonSerializationArgs)); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(LuaAPI.luaL_error(L, "invalid arguments to MongoDB.Bson.Serialization.BsonSerializationArgs constructor!")); }
public override void Serialize(MongoDB.Bson.Serialization.BsonSerializationContext context, MongoDB.Bson.Serialization.BsonSerializationArgs args, Duration value) { if (value == null) { context.Writer.WriteNull(); } else { context.Writer.WriteInt32(value.Minutes); } }
public override void Serialize(MongoDB.Bson.Serialization.BsonSerializationContext context, MongoDB.Bson.Serialization.BsonSerializationArgs args, List <Animal> value) { context.Writer.WriteStartArray(); foreach (Animal mvnt in value) { context.Writer.WriteStartDocument(); switch (mvnt.GetType().Name) { case "Tiger": //your serialization here break; case "Zebra": //your serialization here break; default: break; } context.Writer.WriteEndDocument(); } context.Writer.WriteEndArray(); }
public override void Serialize(MongoDB.Bson.Serialization.BsonSerializationContext context, MongoDB.Bson.Serialization.BsonSerializationArgs args, Tag value) { context.Writer.WriteString(string.IsNullOrWhiteSpace(value.Name) ? "" : value.Name); }