K, I took the tiny bit of code you posted, and added something that uses it
with XmlSerializer, which basically meant implementing the interface (with
NIEs) and adding:

using System;
using System.Xml.Serialization;
using pb = global::Google.Protobuf;
using pbr = global::Google.Protobuf.Reflection;

static class Program
{
    static void Main()
    {
        var ser = new XmlSerializer(typeof(ClientIdentifier));
        var obj = new ClientIdentifier();
        ser.Serialize(Console.Out, obj);
    }
}

---

And here's the thing: it works fine! So: if anyone is going to be able to
help you here, you're going to need to meet us half way, by *showing us the
code that doesn't work*.

On Wed, 21 Aug 2019 at 07:05, Arun <[email protected]> wrote:

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

-- 
Regards,

Marc

-- 
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/CAF95VAwkzCH0uD8JT6McpSND1SEZtw98VObP9iNCta8-jo_P9g%40mail.gmail.com.

Reply via email to