From 17687f538c858c73c2db0c7fc5f49835accc651e Mon Sep 17 00:00:00 2001 From: Pranav K Date: Wed, 29 Jul 2020 13:27:27 -0700 Subject: [PATCH] Improve detection of Record types (#24409) --- .../ModelBinding/Metadata/DefaultBindingMetadataProvider.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Mvc/Mvc.Core/src/ModelBinding/Metadata/DefaultBindingMetadataProvider.cs b/src/Mvc/Mvc.Core/src/ModelBinding/Metadata/DefaultBindingMetadataProvider.cs index eea47efcd6..e5b7c54df0 100644 --- a/src/Mvc/Mvc.Core/src/ModelBinding/Metadata/DefaultBindingMetadataProvider.cs +++ b/src/Mvc/Mvc.Core/src/ModelBinding/Metadata/DefaultBindingMetadataProvider.cs @@ -143,7 +143,8 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Metadata static bool IsRecordType(Type type) { // Based on the state of the art as described in https://github.com/dotnet/roslyn/issues/45777 - var cloneMethod = type.GetMethod("<>Clone", BindingFlags.Public | BindingFlags.Instance); + var cloneMethod = type.GetMethod("$", BindingFlags.Public | BindingFlags.Instance) ?? + type.GetMethod("<>Clone", BindingFlags.Public | BindingFlags.Instance); return cloneMethod != null && cloneMethod.ReturnType == type; } }