internal SyntheticMemberConfiguration(
     string memberName,
     Type memberType,
     Type declaringType,
     SerializeSyntheticMemberDelegate serializeFunction)
     : this(memberName, memberType, declaringType, serializeFunction, true)
 {
 }
 internal SyntheticMemberConfiguration(
     string memberName,
     Type memberType,
     Type declaringType,
     SerializeSyntheticMemberDelegate serializeFunction,
     bool added)
 {
     MemberName        = memberName;
     MemberType        = memberType;
     DeclaringType     = declaringType;
     SerializeFunction = serializeFunction;
     Added             = added;
 }
        /// <inheritdoc />
        public IModelConfigurator AddSyntheticMember <TMember>(
            string memberName,
            SerializeSyntheticMemberDelegate serializeFunction,
            Action <ISyntheticMemberConfigurator> action)
        {
            var configuration = Configuration.GetOrAdd(memberName, n =>
                                                       new SyntheticMemberConfiguration(
                                                           memberName,
                                                           typeof(TMember),
                                                           Configuration.ModelType,
                                                           serializeFunction));

            action?.Invoke(new SyntheticMemberConfigurator(configuration));

            return(this);
        }
 public SyntheticMemberValueProvider(string memberName, SerializeSyntheticMemberDelegate serializeMemberDelegate)
 {
     _memberName = memberName ?? throw new ArgumentNullException(nameof(memberName));
     _serializeMemberDelegate = serializeMemberDelegate ?? throw new ArgumentNullException(nameof(serializeMemberDelegate));
 }
 /// <inheritdoc />
 public ISyntheticMemberConfigurator Serialize(SerializeSyntheticMemberDelegate serializeFunction)
 {
     Configuration.SerializeFunction = serializeFunction;
     return(this);
 }