public static void Main()
var container = new Container();
container.Register<Engine>(Reuse.Scoped);
using (var scope = container.OpenScope())
var engine = scope.Resolve<Engine>();
var sameEngine = scope.Resolve<Engine>();
Console.WriteLine((engine == sameEngine) + ", maxRpm = " + engine.MaxRpm);
var sameEngine2 = scope.Resolve<Engine>();
Console.WriteLine((engine == sameEngine2) + ", maxRpm = " + engine.MaxRpm);
using (var scope2 = container.OpenScope())
var e = scope2.Resolve<Engine>();
Console.WriteLine("maxRpm = " + e.MaxRpm);
public Engine(int maxRpm)
public int MaxRpm { get; }