- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 LightInject 中,注册命名服务的过程如下:
container.Register<IFoo, Foo>();
container.Register<IFoo, AnotherFoo>("AnotherFoo");
var instance = container.GetInstance<IFoo>("AnotherFoo");
带有参数的服务:
container.Register<int, IFoo>((factory, value) => new Foo(value));
var fooFactory = container.GetInstance<Func<int, IFoo>>();
var foo = (Foo)fooFactory(42);
如何将这两者结合起来,将命名服务与参数传递给构造函数?
最佳答案
你是说这样?
class Program
{
static void Main(string[] args)
{
var container = new ServiceContainer();
container.Register<string,IFoo>((factory, s) => new Foo(s), "Foo");
container.Register<string, IFoo>((factory, s) => new AnotherFoo(s), "AnotherFoo");
var foo = container.GetInstance<string, IFoo>("SomeValue", "Foo");
Debug.Assert(foo.GetType().IsAssignableFrom(typeof(Foo)));
var anotherFoo = container.GetInstance<string, IFoo>("SomeValue", "AnotherFoo");
Debug.Assert(anotherFoo.GetType().IsAssignableFrom(typeof(AnotherFoo)));
}
}
public interface IFoo { }
public class Foo : IFoo
{
public Foo(string value){}
}
public class AnotherFoo : IFoo
{
public AnotherFoo(string value) { }
}
关于light-inject - 如何将参数传递给 LightInject 中的命名服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28021095/
我喜欢 benchmarks on LightInject ;他们疯了!干得好,你应该写一本关于 .Net 性能的书,我是认真的。 我看到 documentation . 我安装了dll。按照那个步骤
无论如何在 LightInject 中检测到递归依赖性问题。 我有两个相互依赖的业务服务,因此我收到了“检测到递归依赖性”错误。有人为此提出解决方法吗?我确信在 Structure Map 中是可行的
我(光注入(inject) mvc 的新手)在我的 asp.mvc 4 应用程序中使用 LightInject MVC,除了偶尔出现异常外,效果很好。现在我在预生产中看到它。异常是:System.In
在存储库中,我保留了一些实例,这些实例贯穿我的应用程序的整个生命周期,但有时我需要立即用另一个实例和 LightInject 替换此类实例,即使将新实例传递给容器。GetInstance 构造函数覆盖
我正在使用 LightInject 作为我的类库项目的 IoC 容器。由于这些项目类型没有任何入口点或启动方法,我可以在其中编写用于注册依赖项的代码。我想实现一些自动注册,所以任何使用我的库并依赖它的
我正在使用 fluentvalidation和 lightinject 这是我插入博客文章的代码; public OperationResultDto Add(BlogArticleDto blogA
我在 ASP MVC 项目中使用 LightInject。初始化代码与以下内容大致相同:http://www.lightinject.net/#mvc 我的问题是如何解析静态函数中的实例,例如 HTM
不确定在这里做什么。尝试拦截具有构造函数注入(inject)的工厂时,invocationInfo.Proceed() 总是失败。 var container = new ServiceContain
我想使用一些具有良好性能结果的 .NET IoC 容器。我读了this article关于 IoC 容器性能,DryIoc 和 LightInject 似乎是最好的。但是我没有找到关于它们的一些评论,
有谁知道如何使用 LightInject 配置 AutoMapper? AutoMapper 文档只有 Ninject 和 Simple Injector 的例子。 我在尝试注册 AutoMapper
在 LightInject 中,注册命名服务的过程如下: container.Register(); container.Register("AnotherFoo"); var instance =
我开始在我的 MVC 应用程序中使用 LightInject,但我对如何实现 DB Context 类的实例感到有点困惑。 我知道我可以通过构造函数注入(inject)它...但是如果我必须这样做,L
我是依赖注入(inject)的新手,我发现要开始使用 LightInject。所以我创建了 2 个接口(interface)并将这些接口(interface)实现为 2 个类。现在,我想获取 Paym
试用 LightInject IoC 容器时 http://www.lightinject.net/它在解析 ISomeService 类型时抛出一个 stackoverflow 异常: 所有类型都在
使用 LightInject,假设我有一个服务,我想用多个构造函数参数注册,例如: container.Register>( (factory, arg1, arg2, arg3) => ne
我不知道如何使用 LightInject 的 API 来注册给定类中定义的所有处理程序。在这种情况下,使用 LightInject 适配器为 Rebus 定义处理程序。 因此给定一个处理程序定义为:
我刚开始在我的 MVC 项目中使用 LightInject,它工作得很好。但我也想将它用于我的 SignalR 集线器。所以我按照 http://www.lightinject.net/#signal
我正在查看多个 IoC 包含以便选择一个用于我的工作,并查看 LightInject 的代码库我遇到了一些我不明白的东西...... 在 ServiceContainer 的 GetInstance(
我是这两个库的新手,在将它们用于大型项目之前,我需要澄清我的单元测试中低代码工作自动模拟的选项。 在谷歌上花了一些时间后,我得出的结论是,与其他一些 IOC/Mocking 产品配对不同,LightI
这对某些人来说可能是显而易见的,但是......有没有办法用 LightInject 解析未注册的类型?此外,在不显式注入(inject)可读性的情况下,使用 DI 框架自动神奇地解析对象是否是一种好
我是一名优秀的程序员,十分优秀!