Esempio n. 1
0
 /// <summary>
 /// Determines whether this instance of <c>MemberWrapper</c> can be serialized.
 /// </summary>
 /// <param name="serializationFields">The serialization fields.</param>
 /// <returns>
 /// <c>true</c> if this instance of <c>MemberWrapper</c> can be serialized; otherwise, <c>false</c>.
 /// </returns>
 public bool IsAllowedToBeSerialized(YAXSerializationFields serializationFields)
 {
     if (serializationFields == YAXSerializationFields.AllFields)
     {
         return(!IsAttributedAsDontSerialize);
     }
     else if (serializationFields == YAXSerializationFields.AttributedFieldsOnly)
     {
         return(!IsAttributedAsDontSerialize && IsAttributedAsSerializable);
     }
     else if (serializationFields == YAXSerializationFields.PublicPropertiesOnly)
     {
         return(!IsAttributedAsDontSerialize && m_isProperty && ReflectionUtils.IsPublicProperty(m_propertyInfoInstance));
     }
     else
     {
         throw new Exception("Unknown serialization field option");
     }
 }
Esempio n. 2
0
        /// <summary>
        ///     Determines whether this instance of <c>MemberWrapper</c> can be serialized.
        /// </summary>
        /// <param name="serializationFields">The serialization fields.</param>
        /// <param name="dontSerializePropertiesWithNoSetter">Skip serialization of fields which doesn't have a setter.</param>
        /// <returns>
        ///     <c>true</c> if this instance of <c>MemberWrapper</c> can be serialized; otherwise, <c>false</c>.
        /// </returns>
        public bool IsAllowedToBeSerialized(YAXSerializationFields serializationFields,
                                            bool dontSerializePropertiesWithNoSetter)
        {
            if (dontSerializePropertiesWithNoSetter && _isProperty && !_propertyInfoInstance.CanWrite)
            {
                return(false);
            }

            if (serializationFields == YAXSerializationFields.AllFields)
            {
                return(!IsAttributedAsDontSerialize);
            }
            if (serializationFields == YAXSerializationFields.AttributedFieldsOnly)
            {
                return(!IsAttributedAsDontSerialize && IsAttributedAsSerializable);
            }
            if (serializationFields == YAXSerializationFields.PublicPropertiesOnly)
            {
                return(!IsAttributedAsDontSerialize && _isProperty &&
                       ReflectionUtils.IsPublicProperty(_propertyInfoInstance));
            }
            throw new Exception("Unknown serialization field option");
        }
Esempio n. 3
0
        /// <summary>
        /// Determines whether this instance of <c>MemberWrapper</c> can be serialized.
        /// </summary>
        /// <param name="serializationFields">The serialization fields.</param>
        /// <returns>
        /// <c>true</c> if this instance of <c>MemberWrapper</c> can be serialized; otherwise, <c>false</c>.
        /// </returns>
        public bool IsAllowedToBeSerialized(YAXSerializationFields serializationFields, bool dontSerializePropertiesWithNoSetter)
        {
            if (dontSerializePropertiesWithNoSetter && m_isProperty && !m_propertyInfoInstance.CanWrite)
                return false;

            if (serializationFields == YAXSerializationFields.AllFields)
                return !IsAttributedAsDontSerialize;
            else if (serializationFields == YAXSerializationFields.AttributedFieldsOnly)
                return !IsAttributedAsDontSerialize && IsAttributedAsSerializable;
            else if (serializationFields == YAXSerializationFields.PublicPropertiesOnly)
                return !IsAttributedAsDontSerialize && m_isProperty && ReflectionUtils.IsPublicProperty(m_propertyInfoInstance);
            else
                throw new Exception("Unknown serialization field option");
        }