TinyIoC:在单个实例上注册多个接口

时间:2012-06-27 00:44:42

标签: .net inversion-of-control tinyioc

Autofac允许使用.AsImplementedInterfaces()或链接来解析同一实例的多个接口。与<>()一起调用.SingleInstance()。这也可以用TinyIoC完成吗?我只发现了如何注册同一个接口的多个实现,但没有办法链接注册等。

根据我的理解,这是IoC容器的一个非常重要的功能,不是吗?

1 个答案:

答案 0 :(得分:10)

如果我正确理解你有类似

的东西
public class MyThing : IFoo, IBar
{
}

并且您希望以下内容相互返回相同的实例:

Resolve<IFoo>();
Resolve<IBar>();

如果是这样,那是可能的,但它有点难看:

container.Register<IFoo, MyThing>();
container.Register<IBar>((c,p) => c.Resolve<IFoo>() as IBar);

如果你愿意的话,你可以把它包装成一些更好的语法,但是工厂代表实际上将会发生什么。

相关问题