public static void Main()
var container = new Container();
container.RegisterInstance("some_connection_string", serviceKey: "connectionString");
container.Register(typeof(Configuration<>), Reuse.Singleton);
container.Register(typeof (IEntityUpdater<>), typeof (SqlEntityUpdater<>), Reuse.Singleton);
var p = container.Resolve<IEntityUpdater<EventArgs>>();
public class Configuration<T> where T : class { }
internal interface IEntityUpdater<in T> where T : class
internal class SqlEntityUpdater<T> : IEntityUpdater<T> where T : class
public SqlEntityUpdater(Configuration<T> configuration, string connectionString)
public void Update(T entity) { }