Skip to content

Commit bb8d206

Browse files
[main] Update dependencies from dotnet/runtime (#47021)
[main] Update dependencies from dotnet/runtime - Update parsability handling for string types - Add ParseHelper<T> wrapper to support explicit implementations of IParsable - ▫️Merge remote-tracking branch 'origin/main' into darc-main-161a735f-144d-4ea0-b7c3-089b408164fe
1 parent 8fbf7f2 commit bb8d206

20 files changed

+294
-196
lines changed

eng/Version.Details.xml

Lines changed: 124 additions & 124 deletions
Large diffs are not rendered by default.

eng/Versions.props

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -63,69 +63,69 @@
6363
-->
6464
<PropertyGroup Label="Automated">
6565
<!-- Packages from dotnet/runtime -->
66-
<MicrosoftExtensionsDependencyModelVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsDependencyModelVersion>
67-
<MicrosoftNETCoreAppRefVersion>8.0.0-preview.3.23152.1</MicrosoftNETCoreAppRefVersion>
68-
<MicrosoftNETCoreAppRuntimewinx64Version>8.0.0-preview.3.23152.1</MicrosoftNETCoreAppRuntimewinx64Version>
69-
<MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>8.0.0-preview.3.23152.1</MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>
70-
<MicrosoftNETRuntimeWebAssemblySdkVersion>8.0.0-preview.3.23152.1</MicrosoftNETRuntimeWebAssemblySdkVersion>
71-
<MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>8.0.0-preview.3.23152.1</MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>
72-
<MicrosoftNETCoreBrowserDebugHostTransportVersion>8.0.0-preview.3.23152.1</MicrosoftNETCoreBrowserDebugHostTransportVersion>
73-
<MicrosoftExtensionsCachingAbstractionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsCachingAbstractionsVersion>
74-
<MicrosoftExtensionsCachingMemoryVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsCachingMemoryVersion>
75-
<MicrosoftExtensionsConfigurationAbstractionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationAbstractionsVersion>
76-
<MicrosoftExtensionsConfigurationBinderVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationBinderVersion>
77-
<MicrosoftExtensionsConfigurationCommandLineVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationCommandLineVersion>
78-
<MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>
79-
<MicrosoftExtensionsConfigurationFileExtensionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationFileExtensionsVersion>
80-
<MicrosoftExtensionsConfigurationIniVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationIniVersion>
81-
<MicrosoftExtensionsConfigurationJsonVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationJsonVersion>
82-
<MicrosoftExtensionsConfigurationVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationVersion>
83-
<MicrosoftExtensionsConfigurationUserSecretsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationUserSecretsVersion>
84-
<MicrosoftExtensionsConfigurationXmlVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsConfigurationXmlVersion>
85-
<MicrosoftExtensionsDependencyInjectionAbstractionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsDependencyInjectionAbstractionsVersion>
86-
<MicrosoftExtensionsDependencyInjectionVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsDependencyInjectionVersion>
87-
<MicrosoftExtensionsFileProvidersAbstractionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsFileProvidersAbstractionsVersion>
88-
<MicrosoftExtensionsFileProvidersCompositeVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsFileProvidersCompositeVersion>
89-
<MicrosoftExtensionsFileProvidersPhysicalVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsFileProvidersPhysicalVersion>
90-
<MicrosoftExtensionsFileSystemGlobbingVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsFileSystemGlobbingVersion>
91-
<MicrosoftExtensionsHostFactoryResolverSourcesVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsHostFactoryResolverSourcesVersion>
92-
<MicrosoftExtensionsHostingAbstractionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsHostingAbstractionsVersion>
93-
<MicrosoftExtensionsHostingVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsHostingVersion>
94-
<MicrosoftExtensionsHttpVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsHttpVersion>
95-
<MicrosoftExtensionsLoggingAbstractionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingAbstractionsVersion>
96-
<MicrosoftExtensionsLoggingConfigurationVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingConfigurationVersion>
97-
<MicrosoftExtensionsLoggingConsoleVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingConsoleVersion>
98-
<MicrosoftExtensionsLoggingDebugVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingDebugVersion>
99-
<MicrosoftExtensionsLoggingEventSourceVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingEventSourceVersion>
100-
<MicrosoftExtensionsLoggingEventLogVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingEventLogVersion>
101-
<MicrosoftExtensionsLoggingVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingVersion>
102-
<MicrosoftExtensionsLoggingTraceSourceVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsLoggingTraceSourceVersion>
103-
<MicrosoftExtensionsOptionsConfigurationExtensionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsOptionsConfigurationExtensionsVersion>
104-
<MicrosoftExtensionsOptionsDataAnnotationsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsOptionsDataAnnotationsVersion>
105-
<MicrosoftExtensionsOptionsVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsOptionsVersion>
106-
<MicrosoftExtensionsPrimitivesVersion>8.0.0-preview.3.23152.1</MicrosoftExtensionsPrimitivesVersion>
107-
<MicrosoftInternalRuntimeAspNetCoreTransportVersion>8.0.0-preview.3.23152.1</MicrosoftInternalRuntimeAspNetCoreTransportVersion>
108-
<SystemConfigurationConfigurationManagerVersion>8.0.0-preview.3.23152.1</SystemConfigurationConfigurationManagerVersion>
109-
<SystemDiagnosticsDiagnosticSourceVersion>8.0.0-preview.3.23152.1</SystemDiagnosticsDiagnosticSourceVersion>
110-
<SystemDiagnosticsEventLogVersion>8.0.0-preview.3.23152.1</SystemDiagnosticsEventLogVersion>
111-
<SystemDirectoryServicesProtocolsVersion>8.0.0-preview.3.23152.1</SystemDirectoryServicesProtocolsVersion>
112-
<SystemIOPipelinesVersion>8.0.0-preview.3.23152.1</SystemIOPipelinesVersion>
113-
<SystemNetHttpJsonVersion>8.0.0-preview.3.23152.1</SystemNetHttpJsonVersion>
114-
<SystemNetHttpWinHttpHandlerVersion>8.0.0-preview.3.23152.1</SystemNetHttpWinHttpHandlerVersion>
115-
<SystemReflectionMetadataVersion>8.0.0-preview.3.23152.1</SystemReflectionMetadataVersion>
116-
<SystemResourcesExtensionsVersion>8.0.0-preview.3.23152.1</SystemResourcesExtensionsVersion>
117-
<SystemSecurityCryptographyPkcsVersion>8.0.0-preview.3.23152.1</SystemSecurityCryptographyPkcsVersion>
118-
<SystemSecurityCryptographyXmlVersion>8.0.0-preview.3.23152.1</SystemSecurityCryptographyXmlVersion>
119-
<SystemSecurityPermissionsVersion>8.0.0-preview.3.23152.1</SystemSecurityPermissionsVersion>
120-
<SystemServiceProcessServiceControllerVersion>8.0.0-preview.3.23152.1</SystemServiceProcessServiceControllerVersion>
121-
<SystemTextEncodingsWebVersion>8.0.0-preview.3.23152.1</SystemTextEncodingsWebVersion>
122-
<SystemTextJsonVersion>8.0.0-preview.3.23152.1</SystemTextJsonVersion>
123-
<SystemThreadingAccessControlVersion>8.0.0-preview.3.23152.1</SystemThreadingAccessControlVersion>
124-
<SystemThreadingChannelsVersion>8.0.0-preview.3.23152.1</SystemThreadingChannelsVersion>
125-
<SystemThreadingRateLimitingVersion>8.0.0-preview.3.23152.1</SystemThreadingRateLimitingVersion>
66+
<MicrosoftExtensionsDependencyModelVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsDependencyModelVersion>
67+
<MicrosoftNETCoreAppRefVersion>8.0.0-preview.3.23155.6</MicrosoftNETCoreAppRefVersion>
68+
<MicrosoftNETCoreAppRuntimewinx64Version>8.0.0-preview.3.23155.6</MicrosoftNETCoreAppRuntimewinx64Version>
69+
<MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>8.0.0-preview.3.23155.6</MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>
70+
<MicrosoftNETRuntimeWebAssemblySdkVersion>8.0.0-preview.3.23155.6</MicrosoftNETRuntimeWebAssemblySdkVersion>
71+
<MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>8.0.0-preview.3.23155.6</MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>
72+
<MicrosoftNETCoreBrowserDebugHostTransportVersion>8.0.0-preview.3.23155.6</MicrosoftNETCoreBrowserDebugHostTransportVersion>
73+
<MicrosoftExtensionsCachingAbstractionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsCachingAbstractionsVersion>
74+
<MicrosoftExtensionsCachingMemoryVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsCachingMemoryVersion>
75+
<MicrosoftExtensionsConfigurationAbstractionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationAbstractionsVersion>
76+
<MicrosoftExtensionsConfigurationBinderVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationBinderVersion>
77+
<MicrosoftExtensionsConfigurationCommandLineVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationCommandLineVersion>
78+
<MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>
79+
<MicrosoftExtensionsConfigurationFileExtensionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationFileExtensionsVersion>
80+
<MicrosoftExtensionsConfigurationIniVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationIniVersion>
81+
<MicrosoftExtensionsConfigurationJsonVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationJsonVersion>
82+
<MicrosoftExtensionsConfigurationVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationVersion>
83+
<MicrosoftExtensionsConfigurationUserSecretsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationUserSecretsVersion>
84+
<MicrosoftExtensionsConfigurationXmlVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsConfigurationXmlVersion>
85+
<MicrosoftExtensionsDependencyInjectionAbstractionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsDependencyInjectionAbstractionsVersion>
86+
<MicrosoftExtensionsDependencyInjectionVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsDependencyInjectionVersion>
87+
<MicrosoftExtensionsFileProvidersAbstractionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsFileProvidersAbstractionsVersion>
88+
<MicrosoftExtensionsFileProvidersCompositeVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsFileProvidersCompositeVersion>
89+
<MicrosoftExtensionsFileProvidersPhysicalVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsFileProvidersPhysicalVersion>
90+
<MicrosoftExtensionsFileSystemGlobbingVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsFileSystemGlobbingVersion>
91+
<MicrosoftExtensionsHostFactoryResolverSourcesVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsHostFactoryResolverSourcesVersion>
92+
<MicrosoftExtensionsHostingAbstractionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsHostingAbstractionsVersion>
93+
<MicrosoftExtensionsHostingVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsHostingVersion>
94+
<MicrosoftExtensionsHttpVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsHttpVersion>
95+
<MicrosoftExtensionsLoggingAbstractionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingAbstractionsVersion>
96+
<MicrosoftExtensionsLoggingConfigurationVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingConfigurationVersion>
97+
<MicrosoftExtensionsLoggingConsoleVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingConsoleVersion>
98+
<MicrosoftExtensionsLoggingDebugVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingDebugVersion>
99+
<MicrosoftExtensionsLoggingEventSourceVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingEventSourceVersion>
100+
<MicrosoftExtensionsLoggingEventLogVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingEventLogVersion>
101+
<MicrosoftExtensionsLoggingVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingVersion>
102+
<MicrosoftExtensionsLoggingTraceSourceVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsLoggingTraceSourceVersion>
103+
<MicrosoftExtensionsOptionsConfigurationExtensionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsOptionsConfigurationExtensionsVersion>
104+
<MicrosoftExtensionsOptionsDataAnnotationsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsOptionsDataAnnotationsVersion>
105+
<MicrosoftExtensionsOptionsVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsOptionsVersion>
106+
<MicrosoftExtensionsPrimitivesVersion>8.0.0-preview.3.23155.6</MicrosoftExtensionsPrimitivesVersion>
107+
<MicrosoftInternalRuntimeAspNetCoreTransportVersion>8.0.0-preview.3.23155.6</MicrosoftInternalRuntimeAspNetCoreTransportVersion>
108+
<SystemConfigurationConfigurationManagerVersion>8.0.0-preview.3.23155.6</SystemConfigurationConfigurationManagerVersion>
109+
<SystemDiagnosticsDiagnosticSourceVersion>8.0.0-preview.3.23155.6</SystemDiagnosticsDiagnosticSourceVersion>
110+
<SystemDiagnosticsEventLogVersion>8.0.0-preview.3.23155.6</SystemDiagnosticsEventLogVersion>
111+
<SystemDirectoryServicesProtocolsVersion>8.0.0-preview.3.23155.6</SystemDirectoryServicesProtocolsVersion>
112+
<SystemIOPipelinesVersion>8.0.0-preview.3.23155.6</SystemIOPipelinesVersion>
113+
<SystemNetHttpJsonVersion>8.0.0-preview.3.23155.6</SystemNetHttpJsonVersion>
114+
<SystemNetHttpWinHttpHandlerVersion>8.0.0-preview.3.23155.6</SystemNetHttpWinHttpHandlerVersion>
115+
<SystemReflectionMetadataVersion>8.0.0-preview.3.23155.6</SystemReflectionMetadataVersion>
116+
<SystemResourcesExtensionsVersion>8.0.0-preview.3.23155.6</SystemResourcesExtensionsVersion>
117+
<SystemSecurityCryptographyPkcsVersion>8.0.0-preview.3.23155.6</SystemSecurityCryptographyPkcsVersion>
118+
<SystemSecurityCryptographyXmlVersion>8.0.0-preview.3.23155.6</SystemSecurityCryptographyXmlVersion>
119+
<SystemSecurityPermissionsVersion>8.0.0-preview.3.23155.6</SystemSecurityPermissionsVersion>
120+
<SystemServiceProcessServiceControllerVersion>8.0.0-preview.3.23155.6</SystemServiceProcessServiceControllerVersion>
121+
<SystemTextEncodingsWebVersion>8.0.0-preview.3.23155.6</SystemTextEncodingsWebVersion>
122+
<SystemTextJsonVersion>8.0.0-preview.3.23155.6</SystemTextJsonVersion>
123+
<SystemThreadingAccessControlVersion>8.0.0-preview.3.23155.6</SystemThreadingAccessControlVersion>
124+
<SystemThreadingChannelsVersion>8.0.0-preview.3.23155.6</SystemThreadingChannelsVersion>
125+
<SystemThreadingRateLimitingVersion>8.0.0-preview.3.23155.6</SystemThreadingRateLimitingVersion>
126126
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
127-
<MicrosoftNETCorePlatformsVersion>8.0.0-preview.3.23152.1</MicrosoftNETCorePlatformsVersion>
128-
<MicrosoftBclAsyncInterfacesVersion>8.0.0-preview.3.23152.1</MicrosoftBclAsyncInterfacesVersion>
127+
<MicrosoftNETCorePlatformsVersion>8.0.0-preview.3.23155.6</MicrosoftNETCorePlatformsVersion>
128+
<MicrosoftBclAsyncInterfacesVersion>8.0.0-preview.3.23155.6</MicrosoftBclAsyncInterfacesVersion>
129129
<!-- Packages from dotnet/efcore -->
130130
<dotnetefVersion>8.0.0-preview.3.23152.4</dotnetefVersion>
131131
<MicrosoftEntityFrameworkCoreInMemoryVersion>8.0.0-preview.3.23152.4</MicrosoftEntityFrameworkCoreInMemoryVersion>

src/Http/Http.Extensions/gen/RequestDelegateGeneratorSources.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,13 @@ private static Task WriteToResponseAsync<T>(T? value, HttpContext httpContext, J
165165
return T.BindAsync(context, parameter);
166166
}
167167
}
168+
169+
{{GeneratedCodeAttribute}}
170+
file static class ParsableHelper<T> where T : IParsable<T>
171+
{
172+
public static T Parse(string s, IFormatProvider? provider) => T.Parse(s, provider);
173+
public static bool TryParse(string? s, IFormatProvider? provider, [MaybeNullWhen(returnValue: false)] out T result) => T.TryParse(s, provider, out result);
174+
}
168175
}
169176
""";
170177
private static string GetGenericThunks(string genericThunks) => genericThunks != string.Empty ? $$"""

src/Http/Http.Extensions/gen/StaticRouteHandlerModel/EndpointParameter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ private bool TryGetParsability(IParameterSymbol parameter, WellKnownTypes wellKn
122122
// which method was encountered.
123123
Func<string, string, string>? preferredTryParseInvocation = parsabilityMethod switch
124124
{
125-
ParsabilityMethod.IParsable => (string inputArgument, string outputArgument) => $$"""{{parameterType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}}.TryParse({{inputArgument}}!, CultureInfo.InvariantCulture, out var {{outputArgument}})""",
125+
ParsabilityMethod.IParsable => (string inputArgument, string outputArgument) => $$"""ParsableHelper<{{parameterType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}}>.TryParse({{inputArgument}}!, CultureInfo.InvariantCulture, out var {{outputArgument}})""",
126126
ParsabilityMethod.TryParseWithFormatProvider => (string inputArgument, string outputArgument) => $$"""{{parameterType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}}.TryParse({{inputArgument}}!, CultureInfo.InvariantCulture, out var {{outputArgument}})""",
127127
ParsabilityMethod.TryParse => (string inputArgument, string outputArgument) => $$"""{{parameterType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}}.TryParse({{inputArgument}}!, out var {{outputArgument}})""",
128128
ParsabilityMethod.Enum => (string inputArgument, string outputArgument) => $$"""Enum.TryParse<{{parameterType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}}>({{inputArgument}}!, out var {{outputArgument}})""",

src/Http/Http.Extensions/src/RequestDelegateFactory.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -819,10 +819,10 @@ private static Expression CreateArgument(ParameterInfo parameter, RequestDelegat
819819
return BindParameterFromRouteValueOrQueryString(parameter, parameter.Name, factoryContext);
820820
}
821821
else if (factoryContext.DisableInferredFromBody && (
822-
(parameter.ParameterType.IsArray && ParameterBindingMethodCache.HasTryParseMethod(parameter.ParameterType.GetElementType()!)) ||
823-
parameter.ParameterType == typeof(string[]) ||
822+
parameter.ParameterType == typeof(string[]) ||
824823
parameter.ParameterType == typeof(StringValues) ||
825-
parameter.ParameterType == typeof(StringValues?)))
824+
parameter.ParameterType == typeof(StringValues?) ||
825+
(parameter.ParameterType.IsArray && ParameterBindingMethodCache.HasTryParseMethod(parameter.ParameterType.GetElementType()!))))
826826
{
827827
// We only infer parameter types if you have an array of TryParsables/string[]/StringValues/StringValues?, and DisableInferredFromBody is true
828828

src/Http/Http.Extensions/test/RequestDelegateGenerator/Baselines/MapAction_BindAsync_Snapshot.generated.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,4 +1723,11 @@ namespace Microsoft.AspNetCore.Http.Generated
17231723
return T.BindAsync(context, parameter);
17241724
}
17251725
}
1726+
1727+
%GENERATEDCODEATTRIBUTE%
1728+
file static class ParsableHelper<T> where T : IParsable<T>
1729+
{
1730+
public static T Parse(string s, IFormatProvider? provider) => T.Parse(s, provider);
1731+
public static bool TryParse(string? s, IFormatProvider? provider, [MaybeNullWhen(returnValue: false)] out T result) => T.TryParse(s, provider, out result);
1732+
}
17261733
}

src/Http/Http.Extensions/test/RequestDelegateGenerator/Baselines/MapAction_ExplicitBodyParam_ComplexReturn_Snapshot.generated.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,4 +332,11 @@ namespace Microsoft.AspNetCore.Http.Generated
332332
return T.BindAsync(context, parameter);
333333
}
334334
}
335+
336+
%GENERATEDCODEATTRIBUTE%
337+
file static class ParsableHelper<T> where T : IParsable<T>
338+
{
339+
public static T Parse(string s, IFormatProvider? provider) => T.Parse(s, provider);
340+
public static bool TryParse(string? s, IFormatProvider? provider, [MaybeNullWhen(returnValue: false)] out T result) => T.TryParse(s, provider, out result);
341+
}
335342
}

src/Http/Http.Extensions/test/RequestDelegateGenerator/Baselines/MapAction_ExplicitServiceParam_SimpleReturn_Snapshot.generated.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,4 +410,11 @@ namespace Microsoft.AspNetCore.Http.Generated
410410
return T.BindAsync(context, parameter);
411411
}
412412
}
413+
414+
%GENERATEDCODEATTRIBUTE%
415+
file static class ParsableHelper<T> where T : IParsable<T>
416+
{
417+
public static T Parse(string s, IFormatProvider? provider) => T.Parse(s, provider);
418+
public static bool TryParse(string? s, IFormatProvider? provider, [MaybeNullWhen(returnValue: false)] out T result) => T.TryParse(s, provider, out result);
419+
}
413420
}

src/Http/Http.Extensions/test/RequestDelegateGenerator/Baselines/MapAction_ExplicitSource_SimpleReturn_Snapshot.generated.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,4 +566,11 @@ namespace Microsoft.AspNetCore.Http.Generated
566566
return T.BindAsync(context, parameter);
567567
}
568568
}
569+
570+
%GENERATEDCODEATTRIBUTE%
571+
file static class ParsableHelper<T> where T : IParsable<T>
572+
{
573+
public static T Parse(string s, IFormatProvider? provider) => T.Parse(s, provider);
574+
public static bool TryParse(string? s, IFormatProvider? provider, [MaybeNullWhen(returnValue: false)] out T result) => T.TryParse(s, provider, out result);
575+
}
569576
}

0 commit comments

Comments
 (0)