Это просто: функция, которой ссылочные переменные от содержания определяют объем, потенциально после потока управления, оставила тот объем. Тот последний бит очень полезен:
>>> def makeConstantAdder(x):
... constant = x
... def adder(y):
... return y + constant
... return adder
...
>>> f = makeConstantAdder(12)
>>> f(3)
15
>>> g = makeConstantAdder(4)
>>> g(3)
7
Примечание, которые 12 и 4 "исчезли" внутри f и g, соответственно, эта функция, - то, что делает f и g надлежащие закрытия.
вы имеете в виду, как вы регистрируете его в Виндзоре?
вам, возможно, придется зарегистрировать FactorySupportFacility fist ... У меня нет возможности проверить в данный момент.
container.AddFacility<FactorySupportFacility>();
а затем
container.Register(Component.For<IMappingEngine>().UsingFactoryMethod(()=>
Mapper.Engine));