/// <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"); } }
/// <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"); }
/// <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"); }