Skip to content

Commit 32d066f

Browse files
fix open generics resolution
1 parent e6fe5d0 commit 32d066f

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

src/Ninject.Web.AspNetCore/Components/ConstrainedGenericBindingResolver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public IEnumerable<IBinding> Resolve(Multimap<Type, IBinding> bindings, Type ser
3030
// If the binding has a ServiceDescriptor in its metadata, then we
3131
if (binding.Target == BindingTarget.Type && binding.Metadata.Has(nameof(ServiceDescriptor)))
3232
{
33-
return SatisfiesGenericTypeConstraints(service, binding.Metadata.Get<ServiceDescriptor>(nameof(ServiceDescriptor)).ImplementationType);
33+
return SatisfiesGenericTypeConstraints(service, binding.Metadata.Get<IDescriptorAdapter>(nameof(ServiceDescriptor)).ImplementationType);
3434
}
3535

3636
// ... otherwise we default to the OpenGenericBindingResolver which returns _all_ the bindings without regard for their generic constraints

src/Ninject.Web.AspNetCore/NinjectServiceProviderBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public IServiceProvider Build()
2828
var scopeProvider = context.GetServiceProviderScopeParameter()?.SourceServiceProvider;
2929
if (scopeProvider != null)
3030
{
31-
var descriptor = context.Request.ParentContext?.Binding.Metadata.Get<ServiceDescriptor>(nameof(ServiceDescriptor));
31+
var descriptor = context.Request.ParentContext?.Binding.Metadata.Get<IDescriptorAdapter>(nameof(ServiceDescriptor));
3232
if (descriptor == null || descriptor.Lifetime != ServiceLifetime.Singleton)
3333
{
3434
return scopeProvider;

src/Ninject.Web.AspNetCore/ServiceCollectionAdapter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ private IBindingWithOrOnSyntax<T> ConfigureImplementationAndLifecycle<T>(
7272
#endif
7373

7474
var resultWithMetadata = ConfigureImplementationAndLifecycleWithAdapter(bindingToSyntax, adapter)
75-
.WithMetadata(nameof(ServiceDescriptor), descriptor);
75+
.WithMetadata(nameof(ServiceDescriptor), adapter);
7676

7777
object indexKey = BindingIndex.DefaultIndexKey;
7878
#if NET8_0_OR_GREATER

0 commit comments

Comments
 (0)