void FillSerializers (XmlNode node, SerializationConfig serializationConfig) { foreach (XmlNode child in node.ChildNodes) { string name = CleanNodeName(child); string value = GetTextContent(child); if ("serializer".Equals(name)) { var serializerConfig = new SerializerConfig(); serializerConfig.SetClassName(value); string typeClassName = GetAttribute(child, "type-class"); serializerConfig.SetTypeClassName(typeClassName); serializationConfig.AddSerializerConfig(serializerConfig); } else { if ("global-serializer".Equals(name)) { var globalSerializerConfig = new GlobalSerializerConfig(); globalSerializerConfig.SetClassName(value); serializationConfig.SetGlobalSerializerConfig(globalSerializerConfig); } } } }
protected internal virtual void FillSerializers(XmlNode node, SerializationConfig serializationConfig) { foreach (XmlNode child in node.ChildNodes) { string name = CleanNodeName(child); string value = GetTextContent(child); if ("serializer".Equals(name)) { var serializerConfig = new SerializerConfig(); serializerConfig.SetClassName(value); string typeClassName = GetAttribute(child, "type-class"); serializerConfig.SetTypeClassName(typeClassName); serializationConfig.AddSerializerConfig(serializerConfig); } else { if ("global-serializer".Equals(name)) { var globalSerializerConfig = new GlobalSerializerConfig(); globalSerializerConfig.SetClassName(value); serializationConfig.SetGlobalSerializerConfig(globalSerializerConfig); } } } }
public void TestWriteObjectWithCustomSerializable() { var config = new SerializationConfig(); var sc = new SerializerConfig() .SetImplementation(new CustomSerializer()) .SetTypeClass(typeof (CustomSerializableType)); config.AddSerializerConfig(sc); var serializationService = new SerializationServiceBuilder().SetPortableVersion(1) .AddPortableFactory(TestSerializationConstants.PORTABLE_FACTORY_ID, new TestPortableFactory()) .SetConfig(config).Build(); var foo = new CustomSerializableType {Value = "foo"}; var objectCarryingPortable1 = new ObjectCarryingPortable(foo); var data = serializationService.ToData(objectCarryingPortable1); var objectCarryingPortable2 = serializationService.ToObject<ObjectCarryingPortable>(data); Assert.AreEqual(objectCarryingPortable1, objectCarryingPortable2); }