public void AddFullKey(CustomDictionaryKey configuredKey)
        {
            if (configuredKey.SourceMember?.IsSimple != false)
            {
                _configuredFullKeys.Add(configuredKey);
                return;
            }

            var targetDictionaryTypes = configuredKey.ConfigInfo.TargetType.GetDictionaryTypes();

            if (!targetDictionaryTypes.Value.IsSimple())
            {
                _configuredFullKeys.Add(configuredKey);
                return;
            }

            throw new MappingConfigurationException(string.Format(
                                                        CultureInfo.InvariantCulture,
                                                        "Use .{0}(\"{1}\") instead of .{2}(\"{1}\") for source member {3}, " +
                                                        "because {3} is being flattened to a Dictionary with value type {4}, " +
                                                        "and will only appear as part of its child member's entries.",
                                                        nameof(CustomTargetDictionaryKeySpecifier <object, object> .ToMemberNameKey),
                                                        configuredKey.Key,
                                                        nameof(CustomTargetDictionaryKeySpecifier <object, object> .ToFullKey),
                                                        configuredKey.SourceMember.GetPath(),
                                                        targetDictionaryTypes.Value.GetFriendlyName()));
        }
 public void AddMemberKey(CustomDictionaryKey customKey)
 {
     _configuredMemberKeys.Add(customKey);
 }