Prism Dependency Injection

1.处理解析错误
1.1. 处理解析错误:
- 这个特性是在Prism 8中引入的,如果你的应用目标是早期版本,则不适用。
1.2. 异常发生的原因:
- 开发者可能会遇到多种原因导致的异常,常见的错误包括未注册的服务或无效的XAML,这些在视图解析时会引发异常。
1.3. Prism容器扩展:
- Prism容器扩展现在会非常刻意地捕获任何底层容器异常,并抛出一个
ContainerResolutionException
。
1.4. ContainerResolutionException的目标:
- 通过提供你需要的信息来缩短开发循环,帮助你诊断和修复代码中的问题。
1.5. ContainerResolutionException包含的内容:
- 它包含一些常量消息,如
MissingRegistration
、CannotResolveAbstractType
或CyclicalDependency
。
- 除了这些常量,它还暴露了正在解析的服务名称(ServiceName)和服务类型(ServiceType)的属性。
1.6. 代码示例:
public class ModuleA : IModule
{
private IServiceIForgotToRegister IAmADunce {
get; }
public ModuleA(IServiceIForgotToRegister iAmADummy)
{
IAmADunce = iAmADummy