1

我正在尝试在 Windows Phone 8 上使用 Cirrious.MvvmCross.Plugins.Network.Reachability。我已将网络插件添加到我的 WP8 项目和我的核心中。插件引导程序已添加到 Bootstrap 文件夹。我试图在我的视图模型的依赖项之一的构造函数中传递一个 IMvxReachability。当我运行该应用程序时,我得到了这个异常..

Failed to load ViewModel for type MyNamespace.MyViewModel from locator MvxDefaultViewModelLocator
4

1 回答 1

1

并非所有插件和所有接口都可在所有平台上使用。

Reachability被添加到 iOS 是因为它是 App Store 的要求。

目前在任何其他平台上都没有相同的界面。

如果您需要掌握可能并不总是可用的接口的实现,那么目前执行此操作的方法是使用:

if (Mvx.CanResolve<T>())
   myT = Mvx.Resolve<T>(); 

或更好):

Mvx.TryResolve<T>(out myT);

目前有一个开放问题(功能请求)允许 IoC 构造的可选参数 - 请参阅https://github.com/slodge/MvvmCross/issues/239

目前没有针对可达性的开放请求 - 确实存在原生 API(有时带有应用程序功能保护标志),但大多数 Droid 和 Windows 应用程序不测试网络状态......

于 2013-05-14T10:16:42.390 回答