diff --git a/Toolkit.Foundation/IHostBuilderExtension.cs b/Toolkit.Foundation/IHostBuilderExtension.cs index f7dd27b..9bb8653 100644 --- a/Toolkit.Foundation/IHostBuilderExtension.cs +++ b/Toolkit.Foundation/IHostBuilderExtension.cs @@ -4,9 +4,7 @@ using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.FileProviders.Physical; using Microsoft.Extensions.Hosting; -using System.Collections.ObjectModel; using System.Text.Json; -using static System.Collections.Specialized.BitVector32; namespace Toolkit.Foundation; @@ -22,13 +20,22 @@ public static class IHostBuilderExtension services.AddConfiguration(typeof(TConfiguration).Name, "Settings.json", null); public static IHostBuilder AddConfiguration(this IHostBuilder builder, + string section, + TConfiguration configuration) + where TConfiguration : class, new() + { + return builder.AddConfiguration(section, "Settings.json", configuration); + } + + public static IHostBuilder AddConfiguration(this IHostBuilder builder, + string section, Action configurationDelegate) where TConfiguration : class, new() { TConfiguration configuration = new(); configurationDelegate.Invoke(configuration); - return builder.AddConfiguration(typeof(TConfiguration).Name, "Settings.json", configuration); + return builder.AddConfiguration(section, "Settings.json", configuration); } public static IHostBuilder AddConfiguration(this IHostBuilder builder, @@ -53,7 +60,8 @@ public static class IHostBuilderExtension builder.AddConfiguration(configuration.GetType().Name, "Settings.json", (TConfiguration?)configuration); - public static IHostBuilder AddConfiguration(this IHostBuilder builder, string section, + public static IHostBuilder AddConfiguration(this IHostBuilder builder, + string section, string path = "Settings.json", TConfiguration? defaultConfiguration = null, Action? serializerDelegate = null) diff --git a/Toolkit.Foundation/ObservableCollection.cs b/Toolkit.Foundation/ObservableCollection.cs index cc38a7a..fad0037 100644 --- a/Toolkit.Foundation/ObservableCollection.cs +++ b/Toolkit.Foundation/ObservableCollection.cs @@ -193,7 +193,7 @@ public partial class ObservableCollection : } object? key = this.GetPropertyValue(() => attribute.Key) is { } value ? value : attribute.Key; - Publisher.PublishUI(OnPrepareAggregation(key)); + Publisher.PublishUI(OnAggerate(key)); } } @@ -494,7 +494,7 @@ public partial class ObservableCollection : collection.Insert(index > Count ? Count : index, item); } - protected virtual IAggerate OnPrepareAggregation(object? key) => + protected virtual IAggerate OnAggerate(object? key) => new AggerateEventArgs() with { Key = key }; protected virtual void RemoveItem(int index) =>