Пример #1
0
        public override void Serialize(Stream stream, Type type, object value)
        {
            var members = GetMembers(type);

            for (int i = 0; i < members.Length; i++)
            {
                var member = X20Member.WrapMember(members[i], value);
                ctx.Serializer.Serialize_Main(stream, member.Type, member.Value);
            }
        }
Пример #2
0
        public override void Deserialize(Stream stream, Type type, ref object value)
        {
            var members = GetMembers(type);

            for (int i = 0; i < members.Length; i++)
            {
                var member      = X20Member.WrapMember(members[i], value);
                var memberValue = member.Value;
                ctx.Serializer.Deserialize_Main(stream, member.Type, ref memberValue);
                member.Value = memberValue;
                value        = member.Target; // this bit is needed for structs!
            }
        }