MemoryConfigurationProvider
                    public class MemoryConfigurationProvider : ConfigurationProvider, IEnumerable<KeyValuePair<string, string>>, IEnumerable
                
                Provides configuration key-value pairs that are obtained from memory.
            
                using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace Microsoft.Extensions.Configuration.Memory
{
    public class MemoryConfigurationProvider : ConfigurationProvider, IEnumerable<KeyValuePair<string, string>>, IEnumerable
    {
        private readonly MemoryConfigurationSource _source;
        [System.Runtime.CompilerServices.NullableContext(1)]
        public MemoryConfigurationProvider(MemoryConfigurationSource source)
        {
            ExceptionPolyfills.ThrowIfNull(source, "source");
            _source = source;
            if (_source.InitialData != null) {
                foreach (KeyValuePair<string, string> initialDatum in _source.InitialData) {
                    base.Data.Add(initialDatum.Key, initialDatum.Value);
                }
            }
        }
        [System.Runtime.CompilerServices.NullableContext(1)]
        public void Add(string key, [System.Runtime.CompilerServices.Nullable(2)] string value)
        {
            base.Data.Add(key, value);
        }
        [return: System.Runtime.CompilerServices.Nullable(new byte[] {
            1,
            0,
            1,
            2
        })]
        public IEnumerator<KeyValuePair<string, string>> GetEnumerator()
        {
            return base.Data.GetEnumerator();
        }
        IEnumerator IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }
    }
}