[英]Is it possible to resolve named and unnamed unity registration to same instance (ContainerControlled)
[英]Resolve instance using named registration does not throw Exception
我以为我对Unity有很多了解,但是以下情况我并非没有。 我正在使用Unity Container将我对Prism的视图注册为具有命名注册的对象,如下所示:
_unityContainer.RegisterType<object, MyDummyView>("MyDummyViewName");
我通过调用请求视图的实例
object view = _unityContainer.Resolve<object>("MyDummyViewName");
到现在为止还挺好。 现在,我在系统中发现一个错误,原因是我使用了错误的名称来解析视图的实例,并且我期望Unity会引发异常。
object view = _unityContainer.Resolve<object>("MyWrongDummyViewName");
但是Unity不会引发任何异常(例如ResolutionFailedException
或ActivationException
)。 当我进行上述调用时,它返回一个新object
,而没有使用给定(错误)名称注册任何视图。
这是Unity的正确行为吗? 我真的希望在这里得到一个例外。 在Prism的范围内,这是一个问题,因为导航到错误的目标(视图)时我不会遇到任何异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.