I'm working with autofac. So far i resolve all my dependencies with constructor injection.
There is a case where i get stuck:
Considering the given customer class:
public class Customer : ICustomer
{
    public string Name { get; set; }
    private int ExternId { get; set; }
    public IExternalIdProvider externalIdProvider { get; set; }
    public Customer()
    {
            this.externalIdProvider = new ConcreteIdProvider(this);
    }
    public BevorSave()
    {
        this.ExternId = externalIdProvider.GetNextId();
    }
}
In Order to create a new customer object based on a request or gui action. I use the new Operator. However - There is an IdProvider within the CustomerClass i want to inject. (as property).
If the Customer would be resolved by the ioC Container i would use a configuration like:
builder.RegisterType<ConcreteIdProvider>().As<IExternalIdProvider>();
builder.RegisterType<Customer>().As<ICustomer>()
       .OnActivated(ae =>
            {
              IExternalIdProvider idProvider = 
                ae.Context.Resolve<IExternalIdProvider>(TypedParameter.From(ae.Instance));
              ae.Instance.externalIdProvider = idProvider;
            });
My Question is: How can I inject the behaviour of the ExternalIdProvider in the Customer? (using autofac)
This article shows a sample, how this would be done with a service locator: http://blogs.msdn.com/b/simonince/archive/2008/06/30/dependency-injection-is-dead.aspx
Thanks for your help.
 
     
    