# Microsoft.AspNetCore.Mvc.ModelBinding.Metadata

``` diff
 namespace Microsoft.AspNetCore.Mvc.ModelBinding.Metadata {
     public class BindingMetadata {
+        public ConstructorInfo BoundConstructor { get; set; }
     }
     public class DefaultMetadataDetails {
+        public Func<object[], object> BoundConstructorInvoker { get; set; }
+        public ModelMetadata[] BoundConstructorParameters { get; set; }
     }
     public class DefaultModelMetadata : ModelMetadata {
+        public override ModelMetadata BoundConstructor { get; }
+        public override Func<object[], object> BoundConstructorInvoker { get; }
+        public override IReadOnlyList<ModelMetadata> BoundConstructorParameters { get; }
     }
     public class DefaultModelMetadataProvider : ModelMetadataProvider {
+        public override ModelMetadata GetMetadataForConstructor(ConstructorInfo constructorInfo, Type modelType);
     }
     public readonly struct ModelMetadataIdentity : IEquatable<ModelMetadataIdentity> {
+        public ConstructorInfo ConstructorInfo { get; }
+        public static ModelMetadataIdentity ForConstructor(ConstructorInfo constructor, Type modelType);
     }
     public enum ModelMetadataKind {
+        Constructor = 3,
     }
 }
```

