微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 MVVM Light ViewModelLocator 中使用参数实例化服务?

如何解决如何在 MVVM Light ViewModelLocator 中使用参数实例化服务?

我已经搜索了大约 3 个小时。 我需要知道如何使用由 MVVM Light 的 viewmodelLocator 中的另一个服务生成的参数来实例化一个服务。

在我的 viewmodelLocator 类中,我注册了我的视图模型,然后注册了它们使用的服务,如下所示:

        SimpleIoc.Default.Register<INetworkClient>(() => new NetworkClient());
        SimpleIoc.Default.Register<IapiclientAuthentication>(() => new apiclientAuthentication());
        SimpleIoc.Default.Register<Iapiclient>(() =>
        {
            INetworkClient networkClient = ServiceLocator.Current.GetInstance<INetworkClient>();
            return new apiclient(networkClient,new Uri("https://someuri.com/"),authResponse.AdminUserId,authResponse.ApiKey);
        });

问题是我传递给上面的 apiclient 的“authResponse”是通过调用实现 IapiclientAuthentication 的方法产生的结果(我也在上面的 IoC 容器中注册)。当我在上面创建 apiclient 时,该响应不可用。我该怎么办。

请至少把我推向正确的方向。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。