Files
Toolkit2/Framework/Foundation/Configurations/ConfigurationWriter.cs
T
Daniel Clark 0da4a37173 code sweep
2022-12-10 16:11:07 +00:00

30 lines
955 B
C#

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace Toolkit.Framework.Foundation;
public class ConfigurationWriter<TConfiguration> : IConfigurationWriter<TConfiguration> where TConfiguration : class, new()
{
private readonly IConfiguration rootConfiguration;
public ConfigurationWriter(IConfiguration rootConfiguration)
{
this.rootConfiguration = rootConfiguration;
}
public void Write(string section, TConfiguration configuration)
{
if (rootConfiguration is IConfigurationRoot root)
{
foreach (IConfigurationProvider? provider in root.Providers)
{
if (provider is IWritableConfigurationProvider writableConfigurationProvider)
{
writableConfigurationProvider.Write(section, configuration);
}
}
}
}
}