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();
        }
Exemple #3
0
 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);
Exemple #6
0
        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);
 }
Exemple #8
0
 internal static void Serialize <T>(ICommodityWriter writer, T value)
 {
     Serialize(writer, typeof(T), value);
 }
Exemple #9
0
        internal static void Serialize(ICommodityWriter writer, Type nominalType, object value)
        {
            ICommoditySerializer o = EnsureSerializer(nominalType);

            o.Serialize(writer, nominalType, value);
        }