autofac的Func 来解析命名服务

鉴于注册服务:

builder.RegisterType().Named("one").As(); builder.RegisterType().Named("two").As(); builder.RegisterType().Named("three").As(); 

我可以通过注入类似Func东西来检索IFoo接口的命名实现吗?

 public class SomeClass(Func foo) { var f = foo("one"); Debug.Assert(f is Foo1); var g = foo("two"); Debug.Assert(g is Foo2); var h = foo("three"); Debug.Assert(h is Foo3); } 

我知道我可以用Meta做,但我不想用它。

您可以像这样注册自己的解析代表:

 builder.Register>(c => { var cc = c.Resolve(); return named => cc.ResolveNamed(named); }); 
  • 如何通过WebSocket发送更大的消息?
  • Enumerable.Sum()溢出
  • 无法加载文件或程序集’System.Drawing,Version = 4.0.0.0
  • 我可以在WinRT Metro Style Applications for Windows 8上使用我现有的.Net 4.0类库
  • 比较浮点值
  • 在.NET程序执行时查看变量存储位置的任何工具? 它是在堆栈还是堆上?
  • C#.NET垃圾收集无法正常运行?
  • generics类上的DebuggerDisplay
  • TypeDescriptor不会从inheritance的接口返回成员
  • MVC DropDownListfor()基础知识
  • .NET自动生成的Web服务客户端:如何避免从w3.org请求架构?