I am not able to initialize XmlSerializer class itself. It is failing
saying "static Types cannot be serialized "

On Wed, 21 Aug 2019 at 00:20, Marc Gravell <[email protected]> wrote:

> 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>
>> .
>>
>

-- 
-- Arun

-- 
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/CAG5mLysdZmEYe-8x4FunKza8A3ZFzwVZVOqwE%3Dh6mu2ko8R3Ww%40mail.gmail.com.

Reply via email to