public void RunExpt1()
        {
            // Prepare input entity, we reuse existing init code
            // and just Inject (via Value Injecter library)
            var origMsg = new InheritedEntity();
            origMsg.FillDummyData();
            var origMsgJson = JsonConvert.SerializeObject(origMsg);
            Console.WriteLine("Original object is {0}", origMsgJson);

            // Serialization
            var tmsg = new InheritedEntityThrift();
            tmsg.InjectFrom(origMsg);
            var ms = new MemoryStream();
            var tproto = new TCompactProtocol(new TStreamTransport(ms, ms));
            tmsg.Write(tproto);
            var tbytes = ms.ToArray();

            Console.WriteLine("Serialized to {0} bytes: {1}", tbytes.Length, BitConverter.ToString(tbytes));

            // Deserialization
            var ms2 = new MemoryStream(tbytes);
            var tproto2 = new TCompactProtocol(new TStreamTransport(ms2, ms2));
            var regenTMsg = new InheritedEntityThrift();
            regenTMsg.Read(tproto2);
            var regenMsg = new InheritedEntity();
            regenMsg.InjectFrom(regenTMsg);

            var regenMsgJson = JsonConvert.SerializeObject(regenMsg);
            Console.WriteLine("Regenerated object is {0}", regenMsgJson);
        }
        public void RunExpt1()
        {
            // Prepare input entity, we reuse existing init code
            // and just Inject (via Value Injecter library)
            var origMsg = new InheritedEntity();

            origMsg.FillDummyData();
            var origMsgJson = JsonConvert.SerializeObject(origMsg);

            Console.WriteLine("Original object is {0}", origMsgJson);


            // Serialization
            var tmsg = new InheritedEntityThrift();

            tmsg.InjectFrom(origMsg);
            var ms     = new MemoryStream();
            var tproto = new TCompactProtocol(new TStreamTransport(ms, ms));

            tmsg.Write(tproto);
            var tbytes = ms.ToArray();

            Console.WriteLine("Serialized to {0} bytes: {1}", tbytes.Length, BitConverter.ToString(tbytes));

            // Deserialization
            var ms2       = new MemoryStream(tbytes);
            var tproto2   = new TCompactProtocol(new TStreamTransport(ms2, ms2));
            var regenTMsg = new InheritedEntityThrift();

            regenTMsg.Read(tproto2);
            var regenMsg = new InheritedEntity();

            regenMsg.InjectFrom(regenTMsg);

            var regenMsgJson = JsonConvert.SerializeObject(regenMsg);

            Console.WriteLine("Regenerated object is {0}", regenMsgJson);
        }
Esempio n. 3
0
 protected override T FromSerObject(InheritedEntityThrift regenTMsg)
 {
     RegenAppObj = base.FromSerObject(regenTMsg);
     RegenAppObj.InjectFrom <DoubleToFloat>(regenTMsg); // special call to inject the double (thrift) to float (C#)
     return(RegenAppObj);
 }