void IXRSerializable.SerializeProperties(XRSerializer serializer) { var members = this.GetMemberInfos(); foreach (var member in members) XtraReportsSerializationHelper.SerializeMember(this, member, serializer); }
void IXRSerializable.SerializeProperties(XRSerializer serializer) { serializer.SerializeInteger("ItemCount", this.Count); for (int i = 0; i < Count; i++) { serializer.Serialize("Item" + i, this[i]); } }
protected override void SerializeProperties(XRSerializer serializer) { base.SerializeProperties(serializer); foreach (var property in _CustomProperties) { XtraReportsSerializationHelper.SerializeMember(this, property, serializer); } }
void IXRSerializable.DeserializeProperties(XRSerializer serializer) { var members = this.GetMemberInfos(); foreach (var member in members) { XtraReportsSerializationHelper.DeserializeMember(this, member, serializer); } }
void IXRSerializable.DeserializeProperties(XRSerializer serializer) { Clear(); int count = serializer.DeserializeInteger("ItemCount", 0); for (int i = 0; i < count; i++) { var item = new T(); serializer.Deserialize("Item" + i, item); Add(item); } }
public static void SerializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer) { var member = GetTypeDetailsFromMember(memberInfo); var name = member.Item1; var type = member.Item2; // Get Value var value = ReflectionHelper.GetMemberValue(containerInstance, name); if (typeof(IXRSerializable).IsAssignableFrom(type)) serializer.Serialize(name, value as IXRSerializable); else if (type == typeof(string)) serializer.SerializeString(name, (string)value); else if (type == typeof(Type)) { var typeValue = (Type)value; var typeString = (typeValue != null) ? typeValue.AssemblyQualifiedName : string.Empty; serializer.SerializeString(name, typeString); } // Other types here }
public static void DeserializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer) { var member = GetTypeDetailsFromMember(memberInfo); var name = member.Item1; var type = member.Item2; object value = null; // If collection, Clear before deserializing var currentValue = ReflectionHelper.GetMemberValue(containerInstance, name); var collection = currentValue as IList; if (collection != null && collection as IXRSerializable != null) { collection.Clear(); serializer.Deserialize(name, collection as IXRSerializable); // Items have now been added to the collection. Finished. return; } else if (typeof(IXRSerializable).IsAssignableFrom(type)) { // must create object using parameterless constructor if (type.HasDefaultConstructor() == false) throw new MissingMethodException("A default constructor is required to deserialize IXRSerializable type: {0}".FormatString(type.ToString())); value = Activator.CreateInstance(type); serializer.Deserialize(name, value as IXRSerializable); } else if (type == typeof(string)) value = serializer.DeserializeString(name, string.Empty); else if (type == typeof(Type)) value = Type.GetType(serializer.DeserializeString(name, string.Empty), false); // Set Value ReflectionHelper.SetMemberValue(containerInstance, name, value); }
public static void DeserializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer) { var member = GetTypeDetailsFromMember(memberInfo); var name = member.Item1; var type = member.Item2; object value = null; // If collection, Clear before deserializing var currentValue = ReflectionHelper.GetMemberValue(containerInstance, name); var collection = currentValue as IList; if (collection != null && collection as IXRSerializable != null) { collection.Clear(); serializer.Deserialize(name, collection as IXRSerializable); // Items have now been added to the collection. Finished. return; } else if (typeof(IXRSerializable).IsAssignableFrom(type)) { // must create object using parameterless constructor if (type.HasDefaultConstructor() == false) { throw new MissingMethodException("A default constructor is required to deserialize IXRSerializable type: {0}".FormatString(type.ToString())); } value = Activator.CreateInstance(type); serializer.Deserialize(name, value as IXRSerializable); } else if (type == typeof(string)) { value = serializer.DeserializeString(name, string.Empty); } else if (type == typeof(Type)) { value = Type.GetType(serializer.DeserializeString(name, string.Empty), false); } // Set Value ReflectionHelper.SetMemberValue(containerInstance, name, value); }
public static void SerializeMember(IXRSerializable containerInstance, MemberInfo memberInfo, XRSerializer serializer) { var member = GetTypeDetailsFromMember(memberInfo); var name = member.Item1; var type = member.Item2; // Get Value var value = ReflectionHelper.GetMemberValue(containerInstance, name); if (typeof(IXRSerializable).IsAssignableFrom(type)) { serializer.Serialize(name, value as IXRSerializable); } else if (type == typeof(string)) { serializer.SerializeString(name, (string)value); } else if (type == typeof(Type)) { var typeValue = (Type)value; var typeString = (typeValue != null) ? typeValue.AssemblyQualifiedName : string.Empty; serializer.SerializeString(name, typeString); } // Other types here }
protected override void SerializeProperties(XRSerializer serializer) { base.SerializeProperties(serializer); serializer.SerializeString("ReportId", ReportId); serializer.SerializeString("ReportDescription", ReportDescription); }
protected override void DeserializeProperties(XRSerializer serializer) { base.DeserializeProperties(serializer); ReportDescription = serializer.DeserializeString("ReportDescription", string.Empty); ReportId = serializer.DeserializeString("ReportId", string.Empty); }