在这一行
var factory = _compositionRoot.Resolve(desiredType)
as IItemLocatorFactory<IMyEntity, ILocatorViewModelItem<IMyEntity>>;
我将desiredType
传递给以下方法,该方法使用Unity解决它:
public object Resolve(Type type)
{
var result = _container.Resolve(type);
return result;
}
被调用者中的result
不为空。但是,调用者中的factory
在赋值后为空,并且抛出NullReferenceException
。我没有使用任何async
方法。
_compositionRoot
是在同一程序集中声明的公共类。
为什么我会失去回报值?
编辑我在CompositionRoot类中有这一行可能是相关的:
_container.RegisterInstance<ICompositionRoot>(this);
始终返回ICompositionRoot
的同一个实例,即此公共CompositionRoot
类的实例。