使用Castle Windsor创建一个新组件,提供DI

时间:2015-05-21 21:17:45

标签: castle-windsor

我是Windsor的新手,我正试图在独立客户端(我的情况下是WPF)中解决这个问题。

我有一个名为PictureWrapper的班级使用PictureClient,如下所示:

public class PictureWrapper
{
  private PictureClient myClient;
  public PictureWrapper(int clientID)
  {
    myClient = new PictureClient();
    //etc
  } 
}

在我的PictureWrapper项目中,我可以创建一个如下所示的WindsorInstaller类:

    public class WindsorInstaller : IWindsorInstaller
{
    public void Install(IWindsorContainer container, IConfigurationStore store)
    {
        container.Register(Component.For<IPictureClient>().ImplementedBy<PictureClient>().LifestyleTransient());
    }
}

假设我事先调用了上面的Install()方法,这里有点丢失 - 我现在如何在WPF应用程序中创建PictureWrapper类?我还是新的()吗?

鉴于我没有在PictureClient的构造函数中传递PictureWrapper类的实例,如何在创建PictureWrapper时初始化它?

我想,我可以使它成为一个构造函数参数但是当我在客户端创建PictureWrapper时,我会在客户端传递给它的构造函数?我试图找出如何从我的客户端推出DI球,基本上。

0 个答案:

没有答案