构造函数DI + Unity +解决依赖问题

时间:2016-11-15 12:54:06

标签: c# mvvm dependency-injection unity-container loc

我正在使用Xamarin形式的Prism团结。

我创建了名称为 IDSMobileNaviation

的界面

并创建了一个服务,我已经实现了这样的接口

public class DSMobileNaviationService: IDSMobileNaviation

我在 App.xaml.cs 中注册了这个

 protected override void ConfigureContainer()
    {
        base.ConfigureContainer();
        Container.RegisterType<IDSMobileNaviation,DSMobileNaviationService>();

    }

这是我的ViewModel

 public class ViewBPageViewModel : BindableBase
{
    #region Private variables
    private readonly IDSMobileNaviation _navigationService;

    #endregion
    public ViewBPageViewModel(IDSMobileNaviation navigationService)
    {
        _navigationService = navigationService;
    }
}

当我尝试使用ViewBPageViewModel时出现错误

  

Microsoft.Practices.Unity.ResolutionFailedException:依赖项的解析失败,输入=&#34; DSMobile.ViewModels.ViewBPageViewModel&#34;,name =&#34;(none)&#34;。

     

发生异常时:解析参数&#34; navigationService&#34;构造函数DSMobile.ViewModels.ViewBPageViewModel(DSMobile.Interfaces.IDSMobileNaviation navigationService)。

     

异常是:InvalidCastException - 指定的强制转换无效。

           

在例外时,容器是:

     

解析DSMobile.ViewModels.ViewBPageViewModel,(无)

     

解析参数&#34; navigationService&#34;构造函数DSMobile.ViewModels.ViewBPageViewModel(DSMobile.Interfaces.IDSMobileNaviation navigationService)

我错过了什么吗?建议非常欢迎

0 个答案:

没有答案