public void TestManualGeneric() { var write = typeof(SerializeTests).GetMethod("WriteManualGeneric", BindingFlags.Static | BindingFlags.Public); var read = typeof(SerializeTests).GetMethod("ReadManualGeneric", BindingFlags.Static | BindingFlags.Public); SerializerTypes.AddType( new BinTypeDescription(typeof(ManualGenericType <,>), "ManualGenericType") , new BinTypeVersion(10, 0) , BinTypeProcess.Create(write, read) ); var input = new ManualGenericType <string, string>(); input.FieldOne = "asd"; input.FieldTwo = "lsd"; var output = SerializeDeserialize(input); Assert.AreEqual(input.FieldOne, output.FieldOne); Assert.AreEqual(input.FieldTwo, output.FieldTwo); }
public static ManualGenericType <T1, T2> ReadManualGeneric <T1, T2>(Stream stream, ManualGenericType <T1, T2> instance, int version) { instance.FieldOne = BinSerializer.Deserialize <T1>(stream); instance.FieldTwo = BinSerializer.Deserialize <T2>(stream); return(instance); }
public static void WriteManualGeneric <T1, T2>(Stream stream, ManualGenericType <T1, T2> instance) { BinSerializer.Serialize(stream, instance.FieldOne); BinSerializer.Serialize(stream, instance.FieldTwo); }