diff --git a/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs b/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs index 547c67fdf4..bb07b0fe66 100644 --- a/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs +++ b/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs @@ -13,6 +13,7 @@ public static class INavigationServiceExtensions /// /// Navigates to the most recent entry in the back navigation history by popping the calling Page off the navigation stack. /// + /// Service for handling navigation between views /// The navigation parameters /// If true uses PopModalAsync, if false uses PopAsync /// If true the transition is animated, if false there is no animation on transition. @@ -37,6 +38,7 @@ public static Task GoBackToRootAsync(this INavigationService /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The name of the target to navigate to. /// The navigation parameters /// If true uses PushModalAsync, if false uses PushAsync @@ -50,6 +52,7 @@ public static Task NavigateAsync(this INavigationService navi /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The Uri to navigate to /// The navigation parameters /// If true uses PopModalAsync, if false uses PopAsync @@ -87,6 +90,7 @@ public static string GetNavigationUriPath(this INavigationService navigationServ /// /// Navigates to the most recent entry in the back navigation history by popping the calling Page off the navigation stack. /// + /// Service for handling navigation between views /// The navigation parameters /// indicating whether the request was successful or if there was an encountered . public static Task GoBackAsync(this INavigationService navigationService, params (string Key, object Value)[] parameters) @@ -97,6 +101,7 @@ public static Task GoBackAsync(this INavigationService naviga /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The Uri to navigate to /// The navigation parameters /// indicating whether the request was successful or if there was an encountered . @@ -112,6 +117,7 @@ public static Task NavigateAsync(this INavigationService navi /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The Uri to navigate to /// The navigation parameters /// indicating whether the request was successful or if there was an encountered . diff --git a/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs b/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs index d1cc565f09..9ad8ab8d73 100644 --- a/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs +++ b/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs @@ -173,7 +173,6 @@ Task IPlatformNavigationService.GoBackToRootAsync(INavigation /// /// When navigating inside a NavigationPage: Pops all but the root Page off the navigation stack /// - /// The INavigatinService instance /// The navigation parameters /// Only works when called from a View within a NavigationPage protected async virtual Task GoBackToRootInternal(INavigationParameters parameters) diff --git a/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs b/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs index 39c30d03b9..4140907809 100644 --- a/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs +++ b/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs @@ -10,6 +10,7 @@ public static class INavigationServiceExtensions /// /// Selects a Tab of the TabbedPage parent. /// + /// Service for handling navigation between views /// The name of the tab to select /// The navigation parameters public static async Task SelectTabAsync(this INavigationService navigationService, string name, INavigationParameters parameters = null) diff --git a/src/Forms/Prism.Unity.Forms/PrismApplication.cs b/src/Forms/Prism.Unity.Forms/PrismApplication.cs index fa4167ec02..ed5e7e80bd 100644 --- a/src/Forms/Prism.Unity.Forms/PrismApplication.cs +++ b/src/Forms/Prism.Unity.Forms/PrismApplication.cs @@ -4,6 +4,9 @@ [assembly: Xamarin.Forms.XmlnsDefinition("http://prismlibrary.com", "Prism.Unity")] namespace Prism.Unity { + /// + /// Base class for PrismApplication + /// public abstract class PrismApplication : PrismApplicationBase { /// diff --git a/src/Prism.Core/Common/ParametersBase.cs b/src/Prism.Core/Common/ParametersBase.cs index d2a377f515..d720aa870c 100644 --- a/src/Prism.Core/Common/ParametersBase.cs +++ b/src/Prism.Core/Common/ParametersBase.cs @@ -7,14 +7,24 @@ namespace Prism.Common { + /// + /// Base class for Navigation parameters + /// public abstract class ParametersBase : IEnumerable> { private readonly List> _entries = new List>(); + /// + /// Default constructor + /// protected ParametersBase() { } + /// + /// Constructs a list of parameters + /// + /// Query string to be parsed protected ParametersBase(string query) { if (!string.IsNullOrWhiteSpace(query)) @@ -58,6 +68,12 @@ protected ParametersBase(string query) } } + /// + /// Searches Parameter collection and returns value if Collection contains key. + /// Otherswise returns null. + /// + /// + /// public object this[string key] { get @@ -74,32 +90,72 @@ public object this[string key] } } + /// + /// The count, or number, of parameters in collection + /// public int Count => _entries.Count; + /// + /// Returns an IEnumerable of the Keys in the collection + /// public IEnumerable Keys => _entries.Select(x => x.Key); + /// + /// Adds the KeyValuePair to the Collection + /// + /// + /// public void Add(string key, object value) => _entries.Add(new KeyValuePair(key, value)); + /// + /// Checks collection for presense of key + /// + /// + /// True if key exists; else returns false. public bool ContainsKey(string key) => _entries.ContainsKey(key); + /// + /// Gets an enumerator for the KeyValuePairs in parameter collection + /// + /// Enumerator public IEnumerator> GetEnumerator() => _entries.GetEnumerator(); - + /// + /// Returns the value of the member referenced by key + /// + /// The type of object to be returned + /// + /// public T GetValue(string key) => _entries.GetValue(key); + /// + /// Returns an IEnumerable of all parameters + /// + /// + /// public IEnumerable GetValues(string key) => _entries.GetValues(key); + /// + /// Checks to see if the parameter collection contains the value + /// + /// + /// + /// Value of the returned parameter if it exists public bool TryGetValue(string key, out T value) => _entries.TryGetValue(key, out value); IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + /// + /// Converts parameter collection to a parameter string + /// + /// public override string ToString() { var queryBuilder = new StringBuilder(); @@ -129,6 +185,10 @@ public override string ToString() return queryBuilder.ToString(); } + /// + /// Adds a collection of parameters to the local parameter list + /// + /// [EditorBrowsable(EditorBrowsableState.Never)] public void FromParameters(IEnumerable> parameters) => _entries.AddRange(parameters); diff --git a/src/Prism.Core/Modularity/IModuleInfo.cs b/src/Prism.Core/Modularity/IModuleInfo.cs index 9ade53fe96..3896b210e8 100644 --- a/src/Prism.Core/Modularity/IModuleInfo.cs +++ b/src/Prism.Core/Modularity/IModuleInfo.cs @@ -2,13 +2,36 @@ namespace Prism.Modularity { - public interface IModuleInfo : IModuleCatalogItem + /// + /// Set of properties for each Module + /// +public interface IModuleInfo : IModuleCatalogItem { + /// + /// The modules this instance depends on. + /// Collection DependsOn { get; set; } + /// + /// When Prism should Initialize the module + /// + /// InitializationMode InitializationMode { get; set; } + /// + /// The name of the module + /// string ModuleName { get; set; } + /// + /// The module's type + /// string ModuleType { get; set; } + /// + /// A string ref for the module for registration/resolution + /// string Ref { get; set; } + /// + /// An enum that lists the modules state + /// + /// ModuleState State { get; set; } } } \ No newline at end of file diff --git a/src/Prism.Core/Modularity/IModuleInfoGroup.cs b/src/Prism.Core/Modularity/IModuleInfoGroup.cs index c4395df52d..3e021d4ff1 100644 --- a/src/Prism.Core/Modularity/IModuleInfoGroup.cs +++ b/src/Prism.Core/Modularity/IModuleInfoGroup.cs @@ -4,10 +4,20 @@ namespace Prism.Modularity { // IList must be supported in Silverlight 2 to be able to add items from XAML + /// + /// A collection of for the Modules used by the application + /// public interface IModuleInfoGroup : IModuleCatalogItem, IList, IList { + /// + /// When Prism should Initialize the module + /// + /// InitializationMode InitializationMode { get; set; } + /// + /// A string ref for the module for registration/resolution + /// string Ref { get; set; } } } diff --git a/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs b/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs index 8dd46c3533..8d3fdcf147 100644 --- a/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs +++ b/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs @@ -10,6 +10,7 @@ public static class DryIocExtensions /// Registers an object for navigation. /// /// The Type of the object to register + /// The container instance /// The unique name to register with the object public static void RegisterTypeForNavigation(this IContainer container, string name = null) {