public static void Main()
var cnf = new ThemeConfiguration();
var tm = new ThemeManager(cnf);
config.DefaultTheme = "DefaultTheme";
config.ThemeDirectory = "Dir1";
Console.WriteLine("Called " + config.DefaultTheme);
Console.WriteLine("Hello World");
public class ThemeManager
private readonly IThemeConfiguration _configuration;
public ThemeManager(IThemeConfiguration configuration)
configuration.DefaultTheme = "Pink Theme";
_configuration = configuration;
public void Configure(Action<IThemeConfiguration> configurator)
configurator(_configuration);
public interface IThemeConfiguration
public class ThemeConfiguration : IThemeConfiguration
public string ThemeDirectory { get;set;}
public string DefaultTheme { get;set;}