Как сохранить код кода конфигурации из моего логического кода с помощью настроек (ApplicationSettingsBase) и Injection Dependency?
С конфигурацией я имею в виду конфигурационный файл, специфичный для клиента.
Мне действительно нужно вводить класс конфигурации каждый раз, когда он мне нужен, или есть другой шаблон?
Было бы здорово получить образец кода!
Примеры:
Статическая конфигурация:
public static class StaticConfiguration
{
    public static bool ShouldApplySpecialLogic { get; set; }
    public static string SupportedFileMask { get; set; }
}
public class ConsumerOfStaticConfiguration
{
    public void Process()
    {
        if (StaticConfiguration.ShouldApplySpecialLogic)
        {
            var strings = StaticConfiguration.SupportedFileMask.Split(',');
            foreach (var @string in strings)
            {
            }
        }
    }
}
Нестатическая конфигурация:
public interface IConfiguration
{
    bool ShouldApplySpecialLogic { get; set; }
    string SupportedFileMask { get; set; }
}
public class Configuration : IConfiguration
{
    public bool ShouldApplySpecialLogic { get; set; }
    public string SupportedFileMask { get; set; }
}
public class Consumer
{
    private readonly IConfiguration _configuration;
    public Consumer(IConfiguration configuration)
    {
        _configuration = configuration;
    }
    public void Process()
    {
        if (_configuration.ShouldApplySpecialLogic)
        {
            var strings = _configuration.SupportedFileMask.Split(',');
            foreach (var @string in strings)
            {
            }
        }
    }
}
Статический контекст с нестатической конфигурацией:
public static class Context
{
    public static IConfiguration Configuration { get; set; }
}
public class ConsumerOfStaticContext
{
    public void Process()
    {
        if (Context.Configuration.ShouldApplySpecialLogic)
        {
            var strings = Context.Configuration.SupportedFileMask.Split(',');
            foreach (var @string in strings)
            {
            }
        }
    }
}