public void RunDbExample() { ILogger logger = container.Resolve <ILogger>(); //load config IConfigLoader loader = container.Resolve <IConfigLoader>(); IConfig config = loader.GetConfig("C:\\\\setting.xml"); config.ConnectionString = "This IS connectuion string."; logger.LogInfo($"{config.ConnectionString.ToString()}"); //get PC for both DB IDbConnector connectorMsSql = container.Resolve <IMsSql>(new NamedParameter("connectionString", config.ConnectionString)); connectorMsSql.CreateNewPc(); IDbConnector connectorOracle = container.Resolve <IOracle>(new NamedParameter("connectionString", config.ConnectionString)); connectorOracle.CreateNewPc(); //create PC for one DB IDbConnector connectorDbRandom; if ((new Random()).Next(0, 2) == 0) { //parameter is used only when not specified in container connectorDbRandom = container.Resolve <IMsSql>(new NamedParameter("connectionString", config.ConnectionString)); } else { connectorDbRandom = container.Resolve <IOracle>(new NamedParameter("connectionString", config.ConnectionString)); } connectorDbRandom.ConnectToDb(); connectorDbRandom.CreateNewPc(); Console.ReadLine(); }