@@ -8426,10 +8426,35 @@ public static class Resolver
8426
8426
typeof(IResolver).Method(nameof(IResolver.Resolve), typeof(Type), typeof(object),
8427
8427
typeof(IfUnresolved), typeof(Type), typeof(Request), typeof(object[]));
8428
8428
8429
- // todo: @wip add multiple overloads #498
8430
- // internal static readonly MethodInfo ResolveMethod =
8431
- // typeof(IResolver).Method(nameof(IResolver.Resolve), typeof(Type), typeof(object),
8432
- // typeof(IfUnresolved), typeof(Type), typeof(Request), typeof(object[]));
8429
+ /// <summary>Code Generation specific overload</summary>
8430
+ public static object CodeGenResolve(this IResolver resolver, Type serviceType, Request parent) =>
8431
+ resolver.Resolve(serviceType, null, IfUnresolved.Throw, null, parent, null);
8432
+ internal static readonly MethodInfo CodeGenResolveWithReqMethod =
8433
+ typeof(Resolver).Method(nameof(Resolver.CodeGenResolve), typeof(IResolver), typeof(Type), typeof(Request));
8434
+
8435
+ /// <summary>Code Generation specific overload</summary>
8436
+ public static object CodeGenResolve(this IResolver resolver, Type serviceType, Request parent, object[] args) =>
8437
+ resolver.Resolve(serviceType, null, IfUnresolved.Throw, null, parent, args);
8438
+ internal static readonly MethodInfo CodeGenResolveWithReqAndArgsMethod =
8439
+ typeof(Resolver).Method(nameof(Resolver.CodeGenResolve), typeof(IResolver), typeof(Type), typeof(Request), typeof(object[]));
8440
+
8441
+ /// <summary>Code Generation specific overload</summary>
8442
+ public static object CodeGenResolve(this IResolver resolver, Type serviceType, IfUnresolved ifUnresolved, Request parent) =>
8443
+ resolver.Resolve(serviceType, null, ifUnresolved, null, parent, null);
8444
+ internal static readonly MethodInfo CodeGenResolveWithIfUnresolvedAndReqMethod =
8445
+ typeof(Resolver).Method(nameof(Resolver.CodeGenResolve), typeof(IResolver), typeof(Type), typeof(IfUnresolved), typeof(Request));
8446
+
8447
+ /// <summary>Code Generation specific overload</summary>
8448
+ public static object CodeGenResolve(this IResolver resolver, Type serviceType, Type requiredServiceType, Request parent) =>
8449
+ resolver.Resolve(serviceType, requiredServiceType, IfUnresolved.Throw, null, parent, null);
8450
+ internal static readonly MethodInfo CodeGenResolveWithRequiredTypeAndReqMethod =
8451
+ typeof(Resolver).Method(nameof(Resolver.CodeGenResolve), typeof(IResolver), typeof(Type), typeof(Type), typeof(Request));
8452
+
8453
+ /// <summary>Code Generation specific overload</summary>
8454
+ public static object CodeGenResolve(this IResolver resolver, Type serviceType, object serviceKey, Request parent) =>
8455
+ resolver.Resolve(serviceType, serviceKey, IfUnresolved.Throw, null, parent, null);
8456
+ internal static readonly MethodInfo CodeGenResolveWithServiceKeyAndReqMethod =
8457
+ typeof(Resolver).Method(nameof(Resolver.CodeGenResolve), typeof(IResolver), typeof(Type), typeof(object), typeof(Request));
8433
8458
8434
8459
internal static readonly MethodInfo ResolveManyMethod =
8435
8460
typeof(IResolver).GetMethod(nameof(IResolver.ResolveMany));
@@ -8443,8 +8468,7 @@ public static object Resolve(this IResolver resolver, Type serviceType, IfUnreso
8443
8468
resolver.Resolve(serviceType, ifUnresolved);
8444
8469
8445
8470
/// <summary>Resolves instance of type TService from container.</summary>
8446
- public static TService Resolve<TService>(this IResolver resolver,
8447
- IfUnresolved ifUnresolved = IfUnresolved.Throw) =>
8471
+ public static TService Resolve<TService>(this IResolver resolver, IfUnresolved ifUnresolved = IfUnresolved.Throw) =>
8448
8472
(TService)resolver.Resolve(typeof(TService), ifUnresolved);
8449
8473
8450
8474
/// <summary>Tries to resolve instance of service type from container.</summary>
0 commit comments