diff --git a/src/Mvc/Mvc.Core/src/ApplicationModels/DefaultApplicationModelProvider.cs b/src/Mvc/Mvc.Core/src/ApplicationModels/DefaultApplicationModelProvider.cs index b3200fecb25fb..d299c6802f6c6 100644 --- a/src/Mvc/Mvc.Core/src/ApplicationModels/DefaultApplicationModelProvider.cs +++ b/src/Mvc/Mvc.Core/src/ApplicationModels/DefaultApplicationModelProvider.cs @@ -21,8 +21,6 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationModels; internal class DefaultApplicationModelProvider : IApplicationModelProvider #pragma warning restore CA1852 // Seal internal types { - private static readonly MethodInfo PopulateMetadataForEndpointMethod = typeof(EndpointMetadataPopulator).GetMethod(nameof(PopulateMetadataForEndpoint), BindingFlags.NonPublic | BindingFlags.Static)!; - private readonly MvcOptions _mvcOptions; private readonly IModelMetadataProvider _modelMetadataProvider; private readonly Func _supportsAllRequests; @@ -374,8 +372,8 @@ internal static void AddReturnTypeMetadata(IList selectors, Metho var invokeArgs = new object[2]; invokeArgs[0] = methodInfo; invokeArgs[1] = builder; - PopulateMetadataForEndpointMethod.MakeGenericMethod(returnType).Invoke(null, invokeArgs); - + EndpointMetadataPopulator.PopulateMetadataForEndpointMethod.MakeGenericMethod(returnType).Invoke(null, invokeArgs); + // The metadata is added to the builder's metadata collection. // We need to populate the selectors with that metadata. foreach (var metadata in builder.Metadata) @@ -712,12 +710,6 @@ private static void AddRange(IList list, IEnumerable items) } } - private static void PopulateMetadataForEndpoint(MethodInfo method, EndpointBuilder builder) - where T : IEndpointMetadataProvider - { - T.PopulateMetadata(method, builder); - } - private sealed class InertEndpointBuilder : EndpointBuilder { public override Endpoint Build() diff --git a/src/Shared/EndpointMetadataPopulator.cs b/src/Shared/EndpointMetadataPopulator.cs index 2c8fe12d3e9eb..3087f6b2715d9 100644 --- a/src/Shared/EndpointMetadataPopulator.cs +++ b/src/Shared/EndpointMetadataPopulator.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Http; internal static class EndpointMetadataPopulator { private static readonly MethodInfo PopulateMetadataForParameterMethod = typeof(EndpointMetadataPopulator).GetMethod(nameof(PopulateMetadataForParameter), BindingFlags.NonPublic | BindingFlags.Static)!; - private static readonly MethodInfo PopulateMetadataForEndpointMethod = typeof(EndpointMetadataPopulator).GetMethod(nameof(PopulateMetadataForEndpoint), BindingFlags.NonPublic | BindingFlags.Static)!; + internal static readonly MethodInfo PopulateMetadataForEndpointMethod = typeof(EndpointMetadataPopulator).GetMethod(nameof(PopulateMetadataForEndpoint), BindingFlags.NonPublic | BindingFlags.Static)!; public static void PopulateMetadata(MethodInfo methodInfo, EndpointBuilder builder, IEnumerable? parameters = null) {