MvvmCross解决IoC依赖关系

时间:2015-08-24 15:51:33

标签: xamarin inversion-of-control mvvmcross

我试图弄清楚整个Mvvm声明单例的方式,尤其是那些与IoC依赖关系相关的单例。在我的特定示例中,我有一个UserService,它需要一个IDatabase和一个IMvxMessenger作为IoC依赖。

IDatabase是特定于平台的,所以在我的Droid.UI项目中,我使用以下代码解决了这个问题:

var database = new Database(new SQLitePlatformAndroid(), Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "database.db"));
database.Initialize();
Mvx.RegisterSingleton<IDatabase>(database);

在我的.Core项目中,我有以下代码:

var database = Mvx.Resolve<IDatabase>();
var messenger = Mvx.Resolve<IMvxMessenger>();
Mvx.RegisterSingleton<IUserService>(new UserService(database, messenger));

我试图绕过这个。什么是Mvx.Resolve的工作以及它如何与解决其他依赖关系一起工作。我已经测试了上面的代码,它似乎没有工作,所以我知道我在这里缺少一些重要的东西。

对此的任何帮助将不胜感激,谢谢你提前!

0 个答案:

没有答案