using Autofac; using Autofac.Builder; namespace Recyclarr.Common.Extensions; public static class AutofacExtensions { public static object ResolveGeneric(this ILifetimeScope scope, Type genericType, params Type[] genericArgs) { var type = genericType.MakeGenericType(genericArgs); return scope.Resolve(type); } public static IRegistrationBuilder WithTypeParameter( this IRegistrationBuilder builder, Type paramType, Func resolver) where TReflectionActivatorData : ReflectionActivatorData { return builder.WithParameter( (info, _) => info.ParameterType == paramType, (_, context) => resolver(context)); } }