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



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

据我了解,这对于 IoC 容器来说是一个非常重要的功能,不是吗?

如果我理解正确,你有类似的东西

public class MyThing : IFoo, IBar
{
}

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

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

如果是这样,这是可能的,但它有点丑陋:

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

如果您愿意,您可以将其包装成一些更好的语法,但该工厂委托实际上是幕后发生的事情。

相关内容

  • 没有找到相关文章

最新更新