Can you show any of your XmlSerializer code here, so can understand it? I wouldn't expect the presence of a static type to break XmlSerializer, I admit! But also: protobuf code doesn't usually guarantee anything other than that it should work with the corresponding protobuf library.
On Tue, 20 Aug 2019, 06:32 arun kumar, <[email protected]> wrote: > @Marc Gravell, > > I auto-generated ".cs" files from each ".proto" file. . Whereever a > message declared inside another message in proto, auto-generated cs file is > generated as " Nested Types " and Types class is generated as static. (I > guess , its how the generator defined) > > And, I am trying to convert my xml data into CS object using XMLSerializer > , it complains > > There was an error reflecting type 'SCL.PC.ClientIdentifier'. ---> >> System.InvalidOperationException: SCL.PC.ClientIdentifier+Types cannot be >> serialized. Static types cannot be used as parameters or return types. > > > All I am trying to do is , > > Converting XML data --> CS Object (IMessage) --> proto buf Serialize into >> stream > > > > Is there any way, to convert the xml data to IMessageObject.. I can see > MessageParser has ParseJson object. Likewise, anything available for xml ? > > > var serializer = new XmlSerializer(typeof(SCL.PC.ClientIdentifier)); > > Auto-Generated CS File : > > public sealed partial class ClientIdentifier : > pb::IMessage<ClientIdentifier> { > private static readonly pb::MessageParser<ClientIdentifier> _parser = > new pb::MessageParser<ClientIdentifier>(() => new ClientIdentifier()); > private pb::UnknownFieldSet _unknownFields; > [global::System.Diagnostics.DebuggerNonUserCodeAttribute] > public static pb::MessageParser<ClientIdentifier> Parser { get { > return _parser; } } > > --- > > #region Nested types > /// <summary>Container for nested types declared in the > ClientIdentifier message type.</summary> > [global::System.Diagnostics.DebuggerNonUserCodeAttribute] > public static partial class Types { > public enum Context { > /// <summary> > /// The client's identifier consists of a functional identifier > (FID) in big-endian format. Valid values range from 0x00000000 to > 0xFFFFFFFF. > /// </summary> > [pbr::OriginalName("CFID")] Cfid = 0, > /// <summary> > /// The client's identifier consists of an ASCII-encoded serial > number. > /// </summary> > [pbr::OriginalName("CSN")] Csn = 1, > } > > } > #endregion > > } > > #endregion > > > On Monday, 19 August 2019 19:56:45 UTC+5:30, Marc Gravell wrote: >> >> And can we see some code that actually demonstrates this problem? That >> would really help here. >> > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/protobuf/a6a61e73-3253-4191-b2a0-27cb63d26bde%40googlegroups.com > <https://groups.google.com/d/msgid/protobuf/a6a61e73-3253-4191-b2a0-27cb63d26bde%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/CAF95VAycOVwTeWhrVWJ1e2KPBjVsHeNyrfqfsp6CUadxjhmqWQ%40mail.gmail.com.
