使用LighInject时如何注入IServiceContainer?



我正在使用LightInject,现在我需要知道如何自己解析类型。我尝试使用IServiceContainer,但是当我将此接口注入我的类时,我收到一个错误,指出这是一个未解决的依赖项。

我想解决的是这个。在运行时,我有一个需要实例的Type。所以我想做一些类似SomeResolver.GetInstance(myType).

如何使用LightInject执行此操作?

我有一个可行的解决方案。不知道这是否是"首选"方式,所以如果有人有更好的主意,请告诉我:)

这是我现在使用的:

container.Register<ITypeResolver>(s => new LightInjectTypeResolver(s));

这是实现ITypeResolver的类:

public class LightInjectTypeResolver : ITypeResolver
{
private readonly IServiceFactory _serviceFactory;
public LightInjectTypeResolver(IServiceFactory serviceFactory)
{
_serviceFactory = serviceFactory;
}
public object GetType(Type entity)
{
return _serviceFactory.GetInstance(entity);
}
}

相关内容

  • 没有找到相关文章

最新更新