小编Gur*_*eet的帖子

Castle Windsor"Container"和"Kernel"有什么区别?

我开始使用Windsor了,我想知道何时使用container和何时使用kernel.例如

var c = new WindsorContainer();
c.Register(Component.For<ITt>().ImplementedBy<Tt>());
var tt = c.Resolve<ITt>();
Run Code Online (Sandbox Code Playgroud)

一切都很好,一切正常,但这也是c.kernel可以做同样的,为什么?

var c = new WindsorConatiner();
c.kernel.Register(Component.For<ITt>().ImplementedBy<Tt>());
var tt = c.kernel.Resolve<ITt>();
Run Code Online (Sandbox Code Playgroud)

老实说,我不明白有什么区别 之间的 " 容器 "和" 核心 "一词.在我看来,它听起来像是不同IoC库中同一个东西的两个名字?

PS我读过这篇文章,但仍然无法理解这里有两个实现的功能吗?

更新: 刚刚在我的代码中找到这样的行

      c.Kernel.Resolver.AddSubResolver(new ArrayResolver(c.Kernel));
Run Code Online (Sandbox Code Playgroud)

通过内核做到这一点的原因是什么?我完全输了

c# castle-windsor ioc-container

9
推荐指数
1
解决办法
2499
查看次数

标签 统计

c# ×1

castle-windsor ×1

ioc-container ×1