From cce2033901efca24a420ac33b2872e4f86384a4b Mon Sep 17 00:00:00 2001 From: jpislas Date: Wed, 22 May 2024 13:34:22 -0500 Subject: [PATCH] Update RegionNavigationRegistrationExtensions.cs My previous submission made RegisterForNavigationWithViewModel public, after more thought it makes sense that it would be private and instead an override of RegisterForRegionNavigation without the strong typing is more descriptive and conveys the intent better. --- .../Ioc/RegionNavigationRegistrationExtensions.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Maui/Prism.Maui/Ioc/RegionNavigationRegistrationExtensions.cs b/src/Maui/Prism.Maui/Ioc/RegionNavigationRegistrationExtensions.cs index 2b1694068..0adaaa1de 100644 --- a/src/Maui/Prism.Maui/Ioc/RegionNavigationRegistrationExtensions.cs +++ b/src/Maui/Prism.Maui/Ioc/RegionNavigationRegistrationExtensions.cs @@ -35,7 +35,10 @@ public static class RegionNavigationRegistrationExtensions where TViewModel : class => containerRegistry.RegisterForNavigationWithViewModel(typeof(TView), typeof(TViewModel), name); - public static IContainerRegistry RegisterForNavigationWithViewModel(this IContainerRegistry containerRegistry, Type viewType, Type viewModelType, string name) + public static IContainerRegistry RegisterForRegionNavigation(this IContainerRegistry containerRegistry, Type viewType, Type viewModelType, string name = null) + => containerRegistry.RegisterForNavigationWithViewModel(viewType, viewModelType, name); + + private static IContainerRegistry RegisterForNavigationWithViewModel(this IContainerRegistry containerRegistry, Type viewType, Type viewModelType, string name) { if (string.IsNullOrWhiteSpace(name)) name = viewType.Name; @@ -77,6 +80,9 @@ public static IContainerRegistry RegisterForNavigationWithViewModel(this IContai where TViewModel : class => services.RegisterForNavigationWithViewModel(typeof(TView), typeof(TViewModel), name); + public static IServiceCollection RegisterForRegionNavigation(this IServiceCollection services, Type viewType, Type viewModelType, string name = null) + => services.RegisterForNavigationWithViewModel(viewType, viewModelType, name); + private static IServiceCollection RegisterForNavigationWithViewModel(this IServiceCollection services, Type viewType, Type viewModelType, string name) { if (string.IsNullOrWhiteSpace(name))