private void SerializeAttributes(ICommodityWriter writer, Type nominalType, object value) { var serializableMembers = GetSerializableMemberInfos(nominalType); foreach (CommodityMemberInfoSerializer memberInfoSerializer in serializableMembers) { object memberValue = memberInfoSerializer.GetValue(value); writer.WriteName(memberInfoSerializer.Name); CommoditySerializer.Serialize(writer, memberInfoSerializer.MemberType, memberValue); } }
public void Serialize(ICommodityWriter writer, Type nominalType, object value) { if (value == null) { writer.WriteNull(); return; } var actualType = value.GetType(); writer.WriteStartOfObject(); writer.WriteName("t"); CommoditySerializer.Serialize(writer, typeof(Type), actualType); //writer.WriteType(actualType); writer.WriteName("v"); writer.WriteStartOfObject(); SerializeAttributes(writer, actualType, value); writer.WriteEndOfObject(); writer.WriteEndOfObject(); }
public void Serialize(ICommodityWriter writer, Type nominalType, object value) { // must be a struct serializer throw new NotImplementedException(); }
void ICommoditySerializer.Serialize(ICommodityWriter writer, Type nominalType, object o) { this.Serialize(writer, (T)o); }
public abstract void Serialize(ICommodityWriter writer, T o);
public override void Serialize(ICommodityWriter writer, Type o) { string handle = _typeResolver.GetHandleFromType(o); writer.WriteString(handle); }
public override void Serialize(ICommodityWriter writer, string value) { writer.WriteString(value); }
internal static void Serialize <T>(ICommodityWriter writer, T value) { Serialize(writer, typeof(T), value); }
internal static void Serialize(ICommodityWriter writer, Type nominalType, object value) { ICommoditySerializer o = EnsureSerializer(nominalType); o.Serialize(writer, nominalType, value); }