Autofac: resolvendo dependências com parâmetros

Atualmente, estou aprendendo a API do Autofac e tentando entender o que me parece um caso de uso muito comum.

Eu tenho uma classe (para este exemplo simples 'MasterOfPuppets') que possui uma dependência que recebe via injeção de construtor ('NamedPuppet'), essa dependência precisa de um valor a ser construído com (nome da string):

    public class MasterOfPuppets : IMasterOfPuppets
    {
        IPuppet _puppet;

        public MasterOfPuppets(IPuppet puppet)
        {
            _puppet = puppet;
        }
    }

    public class NamedPuppet : IPuppet
    {
        string _name;

        public NamedPuppet(string name)
        {
            _name = name;
        }
    }

Eu registro as duas classes com suas interfaces e, em seguida, desejo resolver o IMasterOfPuppets, com uma string que será injetada na instância do 'NamedPuppet'.

Eu tentei fazer isso da seguinte maneira:

IMasterOfPuppets master = bs.container.Resolve<IMasterOfPuppets>(new NamedParameter("name", "boby"));

Isso termina com um erro de tempo de execução, então acho que o Autofac apenas tenta injetá-lo nos 'MasterOfPuppets'.

Portanto, minha pergunta é: como posso resolver apenas 'IMasterOfPuppets' e passar argumentos de parâmetro para sua dependência, da maneira mais elegante? Outros contêineres ioc têm melhores soluções para isso?

questionAnswers(1)

yourAnswerToTheQuestion