如何使用温莎城堡将国际奥委会的目标传递给另一个国际奥委会目标

本文关键字:奥委会 目标 另一个 何使用 城堡 | 更新日期: 2023-09-27 18:19:31

我的问题可能很糟糕,但以下是我在伪代码中使用Castle Windsor所要做的:

Register IFoo as Foo
Register IBar as Bar
When IFoo Is Passed Into a constructor And Being Resolved to Foo:
    Resolve IBar to Bar And pass typeof(Foo) to IBar.Create() method
        [ Resolve<IBar>().Create(typeof(Foo)) ]

目标是,每当我试图使用IFoo作为依赖项时,我都想将IFoo(Foo)的TYPE的实现传递到IBar上的一个方法中,这将为新建Foo的一个实例并使Foo POCO水合做一些工作。

有什么想法吗?

如何使用温莎城堡将国际奥委会的目标传递给另一个国际奥委会目标

不完全确定您想从这个例子中做什么?我唯一能建议的是,这将是一件混凝土类型的事情(与温莎城堡无关)。因此:

Public Class Foo
{
    Public Foo(IBar bar)
    {
        bar.Create(typeof(Foo));
    }
}

编辑:你似乎在说,你希望Foo由Bar建造成一家工厂。在这种情况下,工厂和它负责创建的类型之间的耦合是可以接受的。因此,您可以将工厂IBar传递到任何需要IFoo实例的类中,并直接调用create方法。然后,如果需要,您可以切换IBar的工厂实现映射,以提供所需的任何具体IFoo。