0

我使用 Unity,我有一堂课:

public class A
{
    [Dependency]
    IRepository<User> User { get; set; }
}

我也有B类:

public class B
{
    public B()
    {
        /* In Ninject I would use */
        /* Global.Inject(this) */
        /* Is it possible to do in Unity? */
    }
}

先感谢您!

4

1 回答 1

2

container.BuildUp()听起来与您要实现的目标相似。但我强烈建议不要在构造函数中使用此功能,除非您绝对必须这样做。从我的角度来看,ASP.NET 网络表单是唯一有意义的场景,因为您无法Page自己控制对象的实例化,并且必须接受框架决定向您抛出的内容。

BuildUp应该为外部框架或应用程序提供给您的“第三方”对象保留(您再次无法控制对象实例化),并且您永远不应该直接调用业务或服务对象中的容器(参见ServiceLocator anti -模式)。

于 2012-07-09T11:43:19.380 回答