Yes, InjectionFactory:
container.RegisterType<IWeapon>( new InjectionFactory(con => new Sword());
Of course, I would not use it in this particular case, since the default behavior of the container would accomplish this with a simple type mapping. I assume your actual delegates are a bit more complicated.
source share