public LightSerializationMember(SerializationMemberInfo memberInfo) { this.Getter = memberInfo.Getter; this.Setter = memberInfo.Setter; this.Serializer = memberInfo.Serializer; this.MemberInfo = memberInfo.MemberInfo; this.SerializedName = memberInfo.GetSerializedName(); this.SerializeAsCData = memberInfo.SerializeAsCData; this.XmlTreatAsNullIfEmpty = memberInfo.HasApplicableAttribute(typeof(XmlTreatAsNullIfEmptyAttribute)); this.LogicalType = memberInfo.LogicalType; }
/// <summary> /// /// </summary> /// <param name="memberInfo"></param> /// <param name="cache"></param> /// <param name="options"></param> private void AddMember(MemberInfo memberInfo, TypeSerializerCache cache, SerializerOptions options) { SerializationMemberInfo serializationMemberInfo; serializationMemberInfo = new SerializationMemberInfo(memberInfo, options, cache); if (serializationMemberInfo.SerializedNodeType == XmlNodeType.Element) { m_ElementMembersMap[serializationMemberInfo.GetSerializedName()] = new LightSerializationMember(serializationMemberInfo); return; } else if (serializationMemberInfo.SerializedNodeType == XmlNodeType.Attribute) { if (!(serializationMemberInfo.Serializer is TypeSerializerWithSimpleTextSupport)) { throw new InvalidOperationException("Serializer for member doesn't support serializing to an attribute."); } m_AttributeMembersMap[serializationMemberInfo.GetSerializedName()] = new LightSerializationMember(serializationMemberInfo); } }
public LightSerializationMember(SerializationMemberInfo memberInfo) { this.Getter = memberInfo.Getter; this.Setter = memberInfo.Setter; this.Serializer = memberInfo.Serializer; this.MemberInfo = memberInfo.MemberInfo; this.SerializedName = memberInfo.GetSerializedName(); this.SerializeAsCData = memberInfo.SerializeAsCData; this.XmlTreatAsNullIfEmpty = memberInfo.HasApplicableAttribute(typeof(XmlTreatAsNullIfEmptyAttribute)); this.LogicalType = memberInfo.LogicalType; }
/// <summary> /// /// </summary> /// <param name="memberInfo"></param> /// <param name="cache"></param> /// <param name="options"></param> private void AddMember(MemberInfo memberInfo, TypeSerializerCache cache, SerializerOptions options) { SerializationMemberInfo serializationMemberInfo; serializationMemberInfo = new SerializationMemberInfo(memberInfo, options, cache); if (serializationMemberInfo.SerializedNodeType == XmlNodeType.Element) { m_ElementMembersMap[serializationMemberInfo.GetSerializedName()] = new LightSerializationMember(serializationMemberInfo); return; } else if (serializationMemberInfo.SerializedNodeType == XmlNodeType.Attribute) { if (!(serializationMemberInfo.Serializer is TypeSerializerWithSimpleTextSupport)) { throw new InvalidOperationException("Serializer for member doesn't support serializing to an attribute."); } m_AttributeMembersMap[serializationMemberInfo.GetSerializedName()] = new LightSerializationMember(serializationMemberInfo); } }