dannoe, hat meine Frage beantwortet, ich war nem kleinen Irrtum aufgesessen, speziell ging es hier um folgende Codezeile:
services.AddSingleton<ISimpleTraderViewModelFactory<LoginViewModel>>
(serviceProvider =>
new LoginViewModelFactory
(
serviceProvider.GetRequiredService<IAuthenticator>(),
new ViewModelFactoryRenavigator<HomeViewModel>
(
serviceProvider.GetRequiredService<INavigator>(),
serviceProvider.GetRequiredService<ISimpleTraderViewModelFactory<HomeViewModel>>()
)
)
);
Ursprünglich ist sie hier ab Zeile 58 zu finden, ich habe sie aber für die bessere Lesbarkeit entsprechend aufgesplittet und eingerückt:
https://github.com/SingletonSean/SimpleTrader/blob/part-16/SimpleTrader/SimpleTrader.WPF/App.xaml.cs
Wie gesagt, der Umstand, dass hier selber ne Factory aufgelöst wird, hatte mich da auf ne falsche Fährte geschickt.
Kurze Zusammenfassung, was die Zeile macht:
Es ist eine spezielle Auflösung der generischen ViewModelFactory in eine typisierte Factory, welche einen Authenticator bekommt, in welchem der Loggin Status gespeichert ist, sowie einen ViewModelFactoryNavigator, welcher im Navigator Objekt das aktuelle ViewModel setzt.
Hierfür wird der Navigator, sowie eine HomeViewModel Factory übergeben, welche die CurrentViewModel Property des Navigators setzt.
Shit, ich glaube das ist so ziemlich kompliziert, aber in dem Link ist das komplette Repository der Anwendung zum aktuellen Zeitpunkt zu finden.
Mir ging es um das verstehen dieser speziellen Zeile, und wie gesagt, ich war da einem falschen Dampfer aufgesessen, durch den Zufall, dass Serviceklasse selber eine Factory ist.