这类似于This question,但答案并没有解决我的问题。
我想在代码中注册接口的默认实现,但是能够在运行代码之前读取的配置中覆盖它。
我想做点什么
if (!container.IsImplementationRegistered(typeof(TInterface))
{
container.RegisterType<TInterface, TImplementation>();
}
我不能使用TryResolve,因为我将连续注册几个类型,这些类型可能具有尚未注册的自己的依赖项,从而导致错误的覆盖。
Unity 2.0是否会启用此功能,还是有办法在1.2中启用它?
答案 0 :(得分:0)
也许您可以尝试使用子容器。
如果子容器无法解析类型,Unity将转到父容器进行解析。