According to the [Parameterized Instantiation (`Func<X, Y, B>`)](http://docs.autofac.org/en/latest/resolve/relationships.html#parameterized-instantiation-func-x-y-b) documentation:

> 
> However, if you register an object as SingleInstance() and call the Func<X, Y, B> to resolve the object more than once, you will get the same object instance every time regardless of the different parameters you pass in. Just passing different parameters will not break the respect for the lifetime scope.
> 
> 
> 

How does a singleton class with different parameter constructor work?