public override object ConvertFromString(string obj) { ClassWithAConverter cc = new ClassWithAConverter(); var array = obj.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); cc.ID = int.Parse(array[0]); cc.LastName = array[1].ToString(); cc.Ptr = new IntPtr(int.Parse(array[2])); return(cc); }
public override string ConvertToString(object s) { ClassWithAConverter cc = s as ClassWithAConverter; if (cc == null) { throw new ArgumentException("Object is not of type ClassWithAConverter"); } return($"{cc.ID},{cc.LastName},{cc.Ptr.ToInt32()}"); }
public void AddingAConverter() { ClassWithAConverter cc = new ClassWithAConverter(); cc.ID = 12; cc.LastName = "Pertus"; cc.Ptr = new IntPtr(12222); DmSerializer serializer = new DmSerializer(); serializer.RegisterConverter(typeof(ClassWithAConverter), new ClassConverterForClassWithAConverter()); var b = serializer.Serialize(cc); var cc2 = serializer.Deserialize <ClassWithAConverter>(b); Assert.Equal(cc, cc2); }