# Microsoft.AspNetCore.Mvc.ModelBinding

``` diff
 namespace Microsoft.AspNetCore.Mvc.ModelBinding {
     public abstract class ModelMetadata : IEquatable<ModelMetadata>, IModelMetadataProvider {
+        public virtual ModelMetadata BoundConstructor { get; }
+        public virtual Func<object[], object> BoundConstructorInvoker { get; }
+        public virtual IReadOnlyList<ModelMetadata> BoundConstructorParameters { get; }
-        protected ModelMetadataIdentity Identity { get; }
+        protected internal ModelMetadataIdentity Identity { get; }
     }
     public abstract class ModelMetadataProvider : IModelMetadataProvider {
+        public virtual ModelMetadata GetMetadataForConstructor(ConstructorInfo constructor, Type modelType);
     }
 }
```

