You can repro this with a trivial example with a byte[] as an initialized
member field. In my particular case, it was storing some XML describing the
layout of the window class
(AvalonDock.DockingManager.SaveLayout/RestoreLayout), and the bug was
duplicating the XML. This subsequently caused the XmlDocument to throw an
exception as there were 2 roots to the xml tree. I fixed it by altering
BlobSerializer.RequiresOldValue to return false. 

 

Now you mention it, I see why you might want to append to the array, as part
of the "append to the existing items"/Merge feature. Might be useful to have
an attribute to set this append behaviour per member.

 

Cheers,

Richard

 

From: Marc Gravell [mailto:[email protected]] 
Sent: 31 January 2011 01:04
To: NYCBrit
Cc: Protocol Buffers
Subject: Re: [protobuf] Why does protobuf-net append to a byte[]
Property/field on deserialize?

 

Hmmm - good question. A bit of an edge case, really, deserializing over the
top of an existing byte[], or having duplicated byte[]. But thinking about
it, it probably should adhere to the "singular scalar fields" logic and
replace rather than accumulate.

 

I'll log that as a bug. Out of curiosity, is there a specific scenario where
this is noticed? (i.e. where it is common)

 

Marc

On 30 January 2011 20:06, NYCBrit <[email protected]> wrote:

I'm using protobuf-net v2 (trunk) to serialize my C# app. I'm confused
by the byte[] serializer (BlobSerializer) which always appends the
deserialized byte[] array to the initialized value, rather than
replacing it. Why does it do this?

Thanks,
Richard

--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected]
<mailto:protobuf%[email protected]> .
For more options, visit this group at
http://groups.google.com/group/protobuf?hl=en.




-- 
Regards, 

Marc

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to