Como configurar um decorador com o Castle Windsor?

Tenho um decorador e uma implementação real parecida com esta:

public interface IAmUsedTwice
{
    void DoSomething();
}

public class ForReal: IAmUsedTwice
{
    public SomethingElse Need { get; set; }

    public ForReal(SomethingElse iNeed)
    {
        Need = iNeed;
    }

    public void DoSomething()
    {
        Console.WriteLine("Realing doing something here");
    }
}

public class SomethingElse {}

public class DecoratingIsFun: IAmUsedTwice
{
    private IAmUsedTwice Actual { get; set; }

    public DecoratingIsFun(IAmUsedTwice actual)
    {
        Actual = actual;
    }

    public void DoSomething()
    {
        Console.WriteLine("This is a decorator!");
        Actual.DoSomething();
    }
}

e a configuração foi configurada antes de eu começar isso usando xml para a implementação real e se parece com isso:

<component id="forReal"
           service="SomeNamespace.IAmUsedTwice, SomeNamespace"
           type="SomeNamespace.ForReal, SomeNamespace">
  <parameters>
    <iNeed>${iNeed}</iNeed>        
  </parameters>
</component>

e você pode assumir que o componente iNeed já está configurado corretament

gora, o sistema já está configurado para usar a classe ForReal, mas o que eu quero fazer é trocar a classe ForReal e usar a classe DecoratingIsFun agor

Criei um instalador para registrar a classe DecoratingIsFun da seguinte forma:

public class DecoratorInstaller: IWindsorInstaller
{
    public void Install(IWindsorContainer container, IConfigurationStore store)
    {
        container.Register(
            Component.For<IAmUsedTwice>()
                .ImplementedBy<DecoratingIsFun>()
        );
    }
}

o entanto, ainda preciso dizer duas coisa

Quando resolve IAmUsedTwice, quero que resolva uma instância de DecoratingIsFun a partir de agora em vez da outra classe Ao resolver DecoratingIsFun, preciso resolver o ForReal como um argumento construtor para a instância que está criand

O objetivo será que eu possa chamar windsorContainer.Resolve () e obter uma instância DecoratingIsFu

Como posso dizer ao instalador para fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion