Simple example:
Setup Types for serialization!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System; using OPS.Serialization.Attributes; [SerializeAbleClass] //Employee inherites from Person. So you need to add an ClassInheritanceAttribute! [ClassInheritance(typeof(Employee), 0)] //Child inherites from Person. So you need to add an ClassInheritanceAttribute! [ClassInheritance(typeof(Child), 1)] public class Person { public enum EGender { Male, Female, Other } [SerializeAbleField(0)] public EGender Gender; [SerializeAbleField(1)] public int Age; [SerializeAbleField(2)] public String Name; [SerializeAbleField(3)] public String Address; } |
1 2 3 4 5 6 |
[SerializeAbleClass] public class Child : Person { [SerializeAbleField(0)] public String FavouriteTeacherName; } |
1 2 3 4 5 6 7 8 |
[SerializeAbleClass] //Teacher inherites from Employee. So you need to add an ClassInheritanceAttribute! [ClassInheritance(typeof(Teacher), 0)] public class Employee : Person { [SerializeAbleField(0)] public String Department; } |
1 2 3 4 5 6 7 8 9 |
[SerializeAbleClass] public class Teacher : Employee { [SerializeAbleField(0)] public String School; [SerializeAbleField(1)] public List<Child> ChildsInClass; } |
Serialize:
1 2 3 4 5 6 |
using namespace OPS.Serialization.IO; public static void Serialize(Stream stream, Teacher teacher) { Serializer.SerializeToStream(stream, teacher, true, true, "UltimatePassword!"); } |
Deserialize:
1 2 3 4 5 6 |
using namespace OPS.Serialization.IO; public static void DeSerialize(Stream stream) { Teacher teacher = OPS.Serialization.IO.Serializer.DeSerializeFromStream<Teacher>(stream, true, true, "UltimatePassword!"); } |