I was trying to develop a regular idiotic example in order to learn about this great idea.
but it seems to be missing something as i am not managing to obtain the values from the properties inside the deserialized object...
class Program
{
static void Main(string[] args)
{
Human man =
new Human()
{
Name = "Clark Kent",
Age = 150
};
Stream stream = new MemoryStream();
Serializer.Serialize(stream, man);
Human manClone =
Serializer.Deserialize(stream);
SuperHuman superman =
new SuperHuman()
{
Name = "Clark Kent",
Age = 150,
Power = PowerType.Fly & PowerType.HeatVision & PowerType.SuperSpeed,
Class = 5
};
Stream superStream = new MemoryStream();
Serializer.Serialize(superStream, superman);
Human notSoSuperClone =
Serializer.Deserialize(superStream);
}
}
[Serializable, ProtoContract]
[ProtoInclude(1, typeof(SuperHuman))]
internal class Human
{
[ProtoMember(2)]
internal int Age { get; set; }
[ProtoMember(3)]
internal string Name { get; set; }
}
[Serializable, ProtoContract]
internal class SuperHuman : Human
{
[ProtoMember(4)]
internal PowerType Power { get; set; }
[ProtoMember(5)]
internal byte Class { get; set; }
}
[Flags]
internal enum PowerType
{
[ProtoEnum]
Fly = 0,
[ProtoEnum]
HeatVision,
[ProtoEnum]
SuperSpeed,
[ProtoEnum]
SuperHunger
}
Can someone help me please?