From 468c90c75a1f4945f169c30cdcc7cd93e14e00a8 Mon Sep 17 00:00:00 2001 From: Huo Yaoyuan Date: Thu, 1 Aug 2024 23:24:53 +0800 Subject: [PATCH] Do not wrap Delegate.Invoke in another delegate --- .../src/ActivatorUtilities.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/ActivatorUtilities.cs b/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/ActivatorUtilities.cs index 6d8a30b6dd5d4e..48c28c060daa86 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/ActivatorUtilities.cs +++ b/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/ActivatorUtilities.cs @@ -291,11 +291,11 @@ public static ObjectFactory CreateFactory( #endif CreateFactoryInternal(instanceType, argumentTypes, out ParameterExpression provider, out ParameterExpression argumentArray, out Expression factoryExpressionBody); - var factoryLambda = Expression.Lambda>( + var factoryLambda = Expression.Lambda( factoryExpressionBody, provider, argumentArray); - Func? result = factoryLambda.Compile(); - return result.Invoke; + ObjectFactory? result = factoryLambda.Compile(); + return result; } /// @@ -324,11 +324,11 @@ public static ObjectFactory #endif CreateFactoryInternal(typeof(T), argumentTypes, out ParameterExpression provider, out ParameterExpression argumentArray, out Expression factoryExpressionBody); - var factoryLambda = Expression.Lambda>( + var factoryLambda = Expression.Lambda>( factoryExpressionBody, provider, argumentArray); - Func? result = factoryLambda.Compile(); - return result.Invoke; + ObjectFactory? result = factoryLambda.Compile(); + return result; } private static void CreateFactoryInternal([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type instanceType, Type[] argumentTypes, out ParameterExpression provider, out ParameterExpression argumentArray, out Expression factoryExpressionBody)