fixed a bunch of isses with keyed handlers

This commit is contained in:
TheXamlGuy
2024-06-22 13:03:14 +01:00
parent 8d76b712be
commit 34d3cc313b
10 changed files with 77 additions and 109 deletions
+8 -3
View File
@@ -30,10 +30,15 @@ public class Publisher(IHandlerProvider handlerProvider,
Type handlerType = typeof(NotificationHandlerWrapper<>)
.MakeGenericType(notificationType);
List<object?> handlers = key is not null ? serviceProvider.GetKeyedServices(handlerType, key).ToList() :
serviceProvider.GetServices(handlerType).ToList();
key = $"{(key is not null ? $"{key}:" : "")}{notificationType}";
foreach (object? handler in handlerProvider.Get(notificationType, key))
List<object?> handlers = [];
foreach (object? handler in handlerProvider.Get(key))
{
handlers.Add(handler);
}
foreach (object? handler in serviceProvider.GetKeyedServices(handlerType, key))
{
handlers.Add(handler);
}