Injeção de dependência por injeção com padrão Decorator

Digo, eu tenho essa hierarquia de classes:

public interface IRepository { }

public class SomeSimpleRepository : IRepository {}

Agora quero "decorar" SomeSimpleRepository com funções adicionais

public class MoreAdvancedRespository : IRepository 
{ 
    private readonly IRepository _originalRepository;

    public MoreAdvancedRespository(IRepository original) 
    { }
}

Depois de mais um tempo ..

public class TrickyRepository : IRepository
{
    private readonly IRepository _originalRepository;

    public TrickyRepository (IRepository original) 
    { }
}

Agora, preciso realizar a ligação. No aplicativo, preciso que a instância do TrickyRepository seja inicializada com MoreAdvancedRespository. Então, eu preciso escrever algo como:

Bind<IRepository>().To<TrickyRepository>.With ??

Aqui estou confuso, preciso de alguma forma dizer, pegue MoreAdvancedRespository, mas inicialize-o com SomeSimpleRepository. Esse é um tipo de cadeia de dependências que precisam ser resolvidas em uma interfac

Alguém tem alguma sugestão sobre isso?

questionAnswers(2)

yourAnswerToTheQuestion