Skip to content

Commit ba8e006

Browse files
authored
Do not wrap Delegate.Invoke in another delegate (#105814)
1 parent 477de34 commit ba8e006

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/ActivatorUtilities.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,11 @@ public static ObjectFactory CreateFactory(
291291
#endif
292292
CreateFactoryInternal(instanceType, argumentTypes, out ParameterExpression provider, out ParameterExpression argumentArray, out Expression factoryExpressionBody);
293293

294-
var factoryLambda = Expression.Lambda<Func<IServiceProvider, object?[]?, object>>(
294+
var factoryLambda = Expression.Lambda<ObjectFactory>(
295295
factoryExpressionBody, provider, argumentArray);
296296

297-
Func<IServiceProvider, object?[]?, object>? result = factoryLambda.Compile();
298-
return result.Invoke;
297+
ObjectFactory? result = factoryLambda.Compile();
298+
return result;
299299
}
300300

301301
/// <summary>
@@ -324,11 +324,11 @@ public static ObjectFactory<T>
324324
#endif
325325
CreateFactoryInternal(typeof(T), argumentTypes, out ParameterExpression provider, out ParameterExpression argumentArray, out Expression factoryExpressionBody);
326326

327-
var factoryLambda = Expression.Lambda<Func<IServiceProvider, object?[]?, T>>(
327+
var factoryLambda = Expression.Lambda<ObjectFactory<T>>(
328328
factoryExpressionBody, provider, argumentArray);
329329

330-
Func<IServiceProvider, object?[]?, T>? result = factoryLambda.Compile();
331-
return result.Invoke;
330+
ObjectFactory<T>? result = factoryLambda.Compile();
331+
return result;
332332
}
333333

334334
private static void CreateFactoryInternal([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] Type instanceType, Type[] argumentTypes, out ParameterExpression provider, out ParameterExpression argumentArray, out Expression factoryExpressionBody)

0 commit comments

Comments
 (0)