MvvmCross инициализация

ОбсуждаемыйИспользование MvvmCross от контент-провайдеров и мероприятий Я хотел знать, как инициализировать систему MvvmCross.

Полученный ответ сработал тогда, но с последними обновлениями MvvmCross функция, которую я использовал (MvxAndroidSetupSingleton.GetOrCreateSetup ()), устарела.

Теперь я изменил свою инициализацию, и она, кажется, работает до сих пор, но является ли она правильной и правильной? Должен ли я сделать что-то по-другому, чтобы улучшить мобильность?

Класс установки, в специфичной для платформы DLL для Android:

public class Setup
   : MvxAndroidSetup
{
    public Setup(Context applicationContext)
        : base(applicationContext)
    {
    }

    protected override IMvxApplication CreateApp()
    {
        // Create logger class which can be used from now on
        var logger = new AndroidLogger();
        Mvx.RegisterSingleton(typeof(ILogger), logger);
        var app = new App();
        InitialisePlatformSpecificStuff();
        return app;
    }

    private void InitialisePlatformSpecificStuff()
    {
        // For instance register platform specific classes with IoC
    }
}

И мой класс App в библиотеке переносимого ядра:

public class App
    : MvxApplication
{
    public App()
    {
    }

    public override void Initialize()
    {
        base.Initialize();
        AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionHandler;
        InitialisePlugins();
        InitaliseServices();
        InitialiseStartNavigation();
    }

    private void InitaliseServices()
    {
        CreatableTypes().EndingWith("Service").AsInterfaces().RegisterAsLazySingleton();
    }

    private void InitialiseStartNavigation()
    {
    }

    private void InitialisePlugins()
    {
        // initialise any plugins where are required at app startup
        // e.g. Cirrious.MvvmCross.Plugins.Visibility.PluginLoader.Instance.EnsureLoaded();
    }

    public static void UnhandledExceptionHandler(object sender, UnhandledExceptionEventArgs e)
    {
        // Log exception info etc
    }

Ответы на вопрос(1)

Ваш ответ на вопрос