Я пытаюсь выяснить весь Mvvm способ объявления синглетонов и особенно те, которые связаны с ними зависимостями IoC. В моем конкретном примере у меня есть UserService, для которого требуется база данных ID и IMvxMessenger в качестве зависимости IoC.MvvmCross разрешающие зависимости 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 и как она работает вместе с решением других зависимостей. Я уже тестировал код выше, и он, похоже, не работает, поэтому я знаю, что у меня отсутствует что-то важное здесь.
Любая помощь по этому поводу будет очень признательна, заблаговременно!
Извините, что я не следую. Можете ли вы дать пример кода? как для UI, так и для Core – ahmad
Пример кода находится в ссылках, которые я положил в ответ ... –
Думаю, мне нужно читать дальше. Я смог заставить его работать, зарегистрировав тип. Это здорово! но я до сих пор не могу понять причины каждого, поэтому, возможно, дальнейшее чтение поможет. Благодарю. – ahmad