interface ISay{ string Say(); } class Cat :ISay{ string Say(){ return "喵"; } } class Dog:ISay{ string Say(){ return "汪"; } }
在进行容器注册的时候,可以添加一个名称 builder.Register(cat =>new Cat()).Named<ISay>("Cat"); builder.Register(dog=>new Dog()).Named<ISay>("Dog"); IContainer container = builder.Build(); 获取时候可以可能通过名称来获取 container.ResolveNamed<ISay>("Cat/Dog");
ContainerBuilder builder = new ContainerBuilder(); if(selected is cat) { builder.RegisterType(Cat).As(ISay); } else { builder.RegisterType(Dog).As(ISay); } IContainer container = builder.Build();
62,046
社区成员
669,048
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧