Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
        /// <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);
            }
        }