Skip to content

Commit 6f440a1

Browse files
Fixed multiple refactoring & Clients DI registration
1 parent 12797ec commit 6f440a1

4 files changed

Lines changed: 7 additions & 11 deletions

File tree

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<ImplicitUsings>enable</ImplicitUsings>
55
<Nullable>enable</Nullable>
66
<IsPackable>true</IsPackable>
7-
<Version>2.3.13</Version>
7+
<Version>2.3.14</Version>
88
<Authors>Andrey Serdyuk</Authors>
99
<Company>TaskHub</Company>
1010
<Title>TaskHub.Shared - Reusable Primitives for .NET Microservices</Title>

TaskHub.Shared.Refactoring/Bootstrap/DependencyBootstraper.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ public static void AddAppDependency<T>(this IServiceCollection services)
1313

1414
public static void AddAppDependencies<T>(this IServiceCollection services)
1515
{
16-
var pairs = DependencyResolver.FindImplementations<T>();
17-
foreach (var item in pairs.ImplementationTypes)
16+
foreach (var item in DependencyResolver.FindImplementations<T>())
1817
{
19-
services.AddScoped(pairs.InterfaceType, item);
18+
services.AddScoped(item.InterfaceType, item.ImplementationType);
2019
}
2120
}
2221
}

TaskHub.Shared.Refactoring/Models/ResolvedTypes.cs

Lines changed: 0 additions & 3 deletions
This file was deleted.

TaskHub.Shared.Refactoring/Resolvers/DependencyResolver.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,24 @@ public static ResolvedType FindImplementation<T>()
3131
return new ResolvedType(item, impl);
3232
}
3333

34-
public static ResolvedTypes FindImplementations<T>()
34+
public static List<ResolvedType> FindImplementations<T>()
3535
{
3636
if (!typeof(T).IsInterface)
3737
{
3838
throw new RefactoringException($"Generic type T must be an interface, but received {typeof(T).FullName}.");
3939
}
4040

41-
var res = new List<Type>();
41+
var res = new List<ResolvedType>();
4242
var src = AssemblyResolver.AppTypes.Where(t => t.IsInterface && typeof(T).IsAssignableFrom(t) && !t.IsDefined(typeof(UnresolvableAttribute), inherit: true));
4343
foreach (var item in src)
4444
{
4545
var impl = AssemblyResolver.AppTypes.FirstOrDefault(t => t.IsClass && !t.IsAbstract && item.IsAssignableFrom(t));
4646
if (impl != null)
4747
{
48-
res.Add(impl);
48+
res.Add(new(item, impl));
4949
}
5050
}
5151

52-
return new ResolvedTypes(typeof(T), [.. res.Distinct()]);
52+
return res;
5353
}
5454
}

0 commit comments

Comments
 (0)