2 types derived from ModelMetadata
Microsoft.AspNetCore.Mvc.ApiExplorer (1)
EndpointModelMetadata.cs (1)
11internal sealed class EndpointModelMetadata : ModelMetadata
Microsoft.AspNetCore.Mvc.Core (1)
ModelBinding\Metadata\DefaultModelMetadata.cs (1)
16public class DefaultModelMetadata : ModelMetadata
561 references to ModelMetadata
Microsoft.AspNetCore.Mvc.Abstractions (134)
ApiExplorer\ApiParameterDescription.cs (1)
17public ModelMetadata ModelMetadata { get; set; } = default!;
ApiExplorer\ApiResponseType.cs (2)
19/// Gets or sets <see cref="ModelBinding.ModelMetadata"/> for the <see cref="Type"/> or null. 24public ModelMetadata? ModelMetadata { get; set; }
Formatters\InputFormatterContext.cs (6)
26/// The <see cref="ModelMetadata"/> of the model to deserialize. 35ModelMetadata metadata, 52/// The <see cref="ModelMetadata"/> of the model to deserialize. 64ModelMetadata metadata, 108/// Gets the requested <see cref="ModelMetadata"/> of the request body deserialization. 110public ModelMetadata Metadata { get; }
ModelBinding\BindingInfo.cs (9)
102/// This overload does not account for <see cref="BindingInfo"/> specified via <see cref="ModelMetadata"/>. Consider using 103/// <see cref="GetBindingInfo(IEnumerable{object}, ModelMetadata)"/> overload, or <see cref="TryApplyBindingInfo(ModelMetadata)"/> 199/// <param name="modelMetadata">The <see cref="ModelMetadata"/>.</param> 201public static BindingInfo? GetBindingInfo(IEnumerable<object> attributes, ModelMetadata modelMetadata) 225/// <param name="modelMetadata">The <see cref="ModelMetadata"/>.</param> 228public bool TryApplyBindingInfo(ModelMetadata modelMetadata) 280public Func<ModelMetadata, bool> PropertyFilter => CreatePropertyFilter(); 282private Func<ModelMetadata, bool> CreatePropertyFilter()
ModelBinding\EnumGroupAndName.cs (1)
7/// An abstraction used when grouping enum values for <see cref="ModelMetadata.EnumGroupedDisplayNamesAndValues"/>.
ModelBinding\IModelMetadataProvider.cs (5)
7/// A provider that can supply instances of <see cref="ModelMetadata"/>. 18/// <returns>A <see cref="ModelMetadata"/> instance describing the <see cref="Type"/>.</returns> 19ModelMetadata GetMetadataForType(Type modelType); 25/// <returns>A set of <see cref="ModelMetadata"/> instances describing properties of the <see cref="Type"/>.</returns> 26IEnumerable<ModelMetadata> GetMetadataForProperties(Type modelType);
ModelBinding\IPropertyFilterProvider.cs (1)
19Func<ModelMetadata, bool> PropertyFilter { get; }
ModelBinding\Metadata\ModelMetadataIdentity.cs (1)
9/// A key type which identifies a <see cref="ModelMetadata"/>.
ModelBinding\Metadata\ModelMetadataKind.cs (5)
7/// Enumeration for the kinds of <see cref="ModelMetadata"/> 12/// Used for <see cref="ModelMetadata"/> for a <see cref="System.Type"/>. 17/// Used for <see cref="ModelMetadata"/> for a property. 22/// Used for <see cref="ModelMetadata"/> for a parameter. 27/// <see cref="ModelMetadata"/> for a constructor.
ModelBinding\ModelBinderProviderContext.cs (6)
14/// <param name="metadata">The <see cref="ModelMetadata"/> for the model.</param> 16public abstract IModelBinder CreateBinder(ModelMetadata metadata); 22/// <param name="metadata">The <see cref="ModelMetadata"/> for the model.</param> 26public virtual IModelBinder CreateBinder(ModelMetadata metadata, BindingInfo bindingInfo) 37/// Gets the <see cref="ModelMetadata"/>. 39public abstract ModelMetadata Metadata { get; }
ModelBinding\ModelBindingContext.cs (5)
61public abstract ModelMetadata ModelMetadata { get; set; } 96public abstract Func<ModelMetadata, bool>? PropertyFilter { get; set; } 129/// <see cref="ModelBinding.ModelMetadata"/> to assign to the <see cref="ModelMetadata"/> property. 136/// <see cref="EnterNestedScope(ModelMetadata, string, string, object)"/> is called. 139ModelMetadata modelMetadata,
ModelBinding\ModelMetadata.cs (36)
23public abstract class ModelMetadata : IEquatable<ModelMetadata?>, IModelMetadataProvider 26/// The default value of <see cref="ModelMetadata.Order"/>. 45private IReadOnlyList<ModelMetadata>? _boundProperties; 46private IReadOnlyDictionary<ModelMetadata, ModelMetadata>? _parameterMapping; 47private IReadOnlyDictionary<ModelMetadata, ModelMetadata>? _boundConstructorPropertyMapping; 52/// Creates a new <see cref="ModelMetadata"/>. 75public virtual ModelMetadata? ContainerMetadata 120/// Gets the collection of <see cref="ModelMetadata"/> instances for the model's properties. 124internal IReadOnlyList<ModelMetadata> BoundProperties 141var boundProperties = new List<ModelMetadata>(); 143foreach (var metadata in Properties) 163internal IReadOnlyDictionary<ModelMetadata, ModelMetadata> BoundConstructorParameterMapping 178internal IReadOnlyDictionary<ModelMetadata, ModelMetadata> BoundConstructorPropertyMapping 190/// Gets <see cref="ModelMetadata"/> instance for a constructor of a record type that is used during binding and validation. 192public virtual ModelMetadata? BoundConstructor { get; } 195/// Gets the collection of <see cref="ModelMetadata"/> instances for parameters on a <see cref="BoundConstructor"/>. 198public virtual IReadOnlyList<ModelMetadata>? BoundConstructorParameters { get; } 251/// Gets the <see cref="ModelMetadata"/> for elements of <see cref="ModelType"/> if that <see cref="Type"/> 255/// <see cref="ModelMetadata"/> for <c>T</c> if <see cref="ModelType"/> implements 256/// <see cref="IEnumerable{T}"/>. <see cref="ModelMetadata"/> for <c>object</c> if <see cref="ModelType"/> 260public abstract ModelMetadata? ElementMetadata { get; } 422/// validated. If <c>null</c>, properties with this <see cref="ModelMetadata"/> are validated. 667var parameterMapping = new Dictionary<ModelMetadata, ModelMetadata>(); 668var propertyMapping = new Dictionary<ModelMetadata, ModelMetadata>(); 670foreach (var parameter in boundParameters) 672var property = Properties.FirstOrDefault(p => 712public bool Equals(ModelMetadata? other) 732return Equals(obj as ModelMetadata); 814public virtual ModelMetadata GetMetadataForType(Type modelType) 820public virtual IEnumerable<ModelMetadata> GetMetadataForProperties(Type modelType)
ModelBinding\ModelMetadataProvider.cs (13)
9/// A provider that can supply instances of <see cref="ModelMetadata"/>. 17/// <returns>A set of <see cref="ModelMetadata"/> instances describing properties of the <see cref="Type"/>.</returns> 18public abstract IEnumerable<ModelMetadata> GetMetadataForProperties(Type modelType); 24/// <returns>A <see cref="ModelMetadata"/> instance describing the <see cref="Type"/>.</returns> 25public abstract ModelMetadata GetMetadataForType(Type modelType); 31/// <returns>A <see cref="ModelMetadata"/> instance describing the <paramref name="parameter"/>.</returns> 32public abstract ModelMetadata GetMetadataForParameter(ParameterInfo parameter); 39/// <returns>A <see cref="ModelMetadata"/> instance describing the <paramref name="parameter"/>.</returns> 40public virtual ModelMetadata GetMetadataForParameter(ParameterInfo parameter, Type modelType) 50/// <returns>A <see cref="ModelMetadata"/> instance describing the <paramref name="propertyInfo"/>.</returns> 51public virtual ModelMetadata GetMetadataForProperty(PropertyInfo propertyInfo, Type modelType) 61/// <returns>A <see cref="ModelMetadata"/> instance describing the <paramref name="constructor"/>.</returns> 62public virtual ModelMetadata GetMetadataForConstructor(ConstructorInfo constructor, Type modelType)
ModelBinding\ModelPropertyCollection.cs (7)
10/// A read-only collection of <see cref="ModelMetadata"/> objects which represent model properties. 12public class ModelPropertyCollection : ReadOnlyCollection<ModelMetadata> 18public ModelPropertyCollection(IEnumerable<ModelMetadata> properties) 24/// Gets a <see cref="ModelMetadata"/> instance for the property corresponding to <paramref name="propertyName"/>. 30/// The <see cref="ModelMetadata"/> instance for the property specified by <paramref name="propertyName"/>, or 33public ModelMetadata? this[string propertyName] 41var property = Items[i];
ModelBinding\ModelStateDictionary.cs (9)
97/// <see cref="AddModelError(string, Exception, ModelMetadata)"/> or 98/// <see cref="TryAddModelError(string, Exception, ModelMetadata)"/>. 197/// when <see cref="ModelMetadata"/> is not available or the exact <paramref name="exception"/> 199/// Where <see cref="ModelMetadata"/> is available, use <see cref="AddModelError(string, Exception, ModelMetadata)"/> instead. 238/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 239public void AddModelError(string key, Exception exception, ModelMetadata metadata) 257/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 262public bool TryAddModelError(string key, Exception exception, ModelMetadata metadata)
ModelBinding\Validation\ClientModelValidationContext.cs (2)
15/// <param name="metadata">The <see cref="ModelMetadata"/> for validation.</param> 20ModelMetadata metadata,
ModelBinding\Validation\ClientValidatorProviderContext.cs (5)
14/// <param name="modelMetadata">The <see cref="ModelBinding.ModelMetadata"/> for the model being validated. 17public ClientValidatorProviderContext(ModelMetadata modelMetadata, IList<ClientValidatorItem> items) 24/// Gets the <see cref="ModelBinding.ModelMetadata"/>. 26public ModelMetadata ModelMetadata { get; } 32/// This property provides convenience access to <see cref="ModelMetadata.ValidatorMetadata"/>.
ModelBinding\Validation\IValidationStrategy.cs (2)
15/// <param name="metadata">The <see cref="ModelMetadata"/> associated with <paramref name="model"/>.</param> 19IEnumerator<ValidationEntry> GetChildren(ModelMetadata metadata, string key, object model);
ModelBinding\Validation\ModelValidationContext.cs (2)
15/// <param name="modelMetadata">The <see cref="ModelMetadata"/> for validation.</param> 21ModelMetadata modelMetadata,
ModelBinding\Validation\ModelValidationContextBase.cs (3)
19ModelMetadata modelMetadata, 37/// Gets the <see cref="ModelBinding.ModelMetadata"/>. 39public ModelMetadata ModelMetadata { get; }
ModelBinding\Validation\ModelValidatorProviderContext.cs (5)
14/// <param name="modelMetadata">The <see cref="ModelBinding.ModelMetadata"/>.</param> 16public ModelValidatorProviderContext(ModelMetadata modelMetadata, IList<ValidatorItem> items) 23/// Gets the <see cref="ModelBinding.ModelMetadata"/>. 25public ModelMetadata ModelMetadata { get; set; } 31/// This property provides convenience access to <see cref="ModelMetadata.ValidatorMetadata"/>.
ModelBinding\Validation\ValidationEntry.cs (6)
17/// <param name="metadata">The <see cref="ModelMetadata"/> associated with <paramref name="model"/>.</param> 20public ValidationEntry(ModelMetadata metadata, string key, object? model) 34/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the <see cref="Model"/>.</param> 37public ValidationEntry(ModelMetadata metadata, string key, Func<object?> modelAccessor) 55/// The <see cref="ModelMetadata"/> associated with <see cref="Model"/>. 57public ModelMetadata Metadata { get; }
ModelBinding\Validation\ValidationStateEntry.cs (2)
18/// Gets or sets the <see cref="ModelMetadata"/> associated with the entry. 20public ModelMetadata Metadata { get; set; } = default!;
Microsoft.AspNetCore.Mvc.ApiExplorer (10)
DefaultApiDescriptionProvider.cs (8)
175ModelMetadata metadata; 205var modelMetadata = context.MetadataProvider.GetMetadataForProperty( 530public ModelMetadata ModelMetadata { get; } 541ModelMetadata metadata, 596var modelMetadata = bindingContext.ModelMetadata; 647var propertyMetadata = metadataProperties[i]; 685private static Type GetModelType(ModelMetadata metadata) 710public PropertyKey(ModelMetadata metadata, BindingSource? source)
EndpointModelMetadata.cs (2)
28public override ModelMetadata? ElementMetadata { get; } 44public override ModelPropertyCollection Properties { get; } = new(Enumerable.Empty<ModelMetadata>());
Microsoft.AspNetCore.Mvc.Core (296)
ApiBehaviorOptions.cs (2)
43/// Parameters that are complex (<see cref="ModelMetadata.IsComplexType"/>) and are registered in the DI Container (<see cref="IServiceCollection"/>) are assumed to be bound from the services <see cref="BindingSource.Services"/>, unless this 45/// Parameters that are complex (<see cref="ModelMetadata.IsComplexType"/>) are assumed to be bound from the body (<see cref="BindingSource.Body"/>).
ApplicationModels\DefaultApplicationModelProvider.cs (2)
220var modelMetadata = _modelMetadataProvider.GetMetadataForProperty(declaringType, propertyInfo.Name); 476var modelMetadata = modelMetadataProviderBase.GetMetadataForParameter(parameterInfo);
ApplicationModels\InferParameterBindingInfoConvention.cs (5)
20/// <item>A complex type parameter (<see cref="ModelMetadata.IsComplexType"/>), registered in the DI container, is assigned <see cref="BindingSource.Services"/>.</item> 21/// <item>A complex type parameter (<see cref="ModelMetadata.IsComplexType"/>), not registered in the DI container, is assigned <see cref="BindingSource.Body"/>.</item> 116if (IsComplexTypeParameter(parameter, out var metadata)) 172private bool IsComplexTypeParameter(ParameterModel parameter, out ModelMetadata metadata) 189var metadata = modelMetadataProvider.GetMetadataForParameter(parameter.ParameterInfo);
BindAttribute.cs (4)
16private static readonly Func<ModelMetadata, bool> _default = (m) => true; 18private Func<ModelMetadata, bool>? _propertyFilter; 52public Func<ModelMetadata, bool> PropertyFilter 66bool PropertyFilter(ModelMetadata modelMetadata)
ControllerBase.cs (3)
2644Func<ModelMetadata, bool> propertyFilter) 2718Func<ModelMetadata, bool> propertyFilter) 2788Func<ModelMetadata, bool> propertyFilter)
Controllers\ControllerBinderDelegateProvider.cs (6)
66var modelMetadata = bindingInfo.ModelMetadata; 92var modelMetadata = bindingInfo.ModelMetadata; 132ModelMetadata metadata; 178var metadata = modelMetadataProvider.GetMetadataForProperty(controllerType, property.Name); 194public BinderItem(IModelBinder modelBinder, ModelMetadata modelMetadata) 202public ModelMetadata ModelMetadata { get; }
ModelBinding\Binders\ArrayModelBinder.cs (2)
39/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder 64/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder
ModelBinding\Binders\CollectionModelBinder.cs (7)
49/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder 74/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder 206/// <see cref="ModelMetadata.IsBindingRequired" />. 213/// <see cref="ModelMetadata.IsBindingRequired" /> failure for collections. Add the error here. 217var modelMetadata = bindingContext.ModelMetadata; 269var elementMetadata = bindingContext.ModelMetadata.ElementMetadata!; 342var elementMetadata = bindingContext.ModelMetadata.ElementMetadata!;
ModelBinding\Binders\ComplexObjectModelBinder.cs (19)
33private readonly IDictionary<ModelMetadata, IModelBinder> _propertyBinders; 39IDictionary<ModelMetadata, IModelBinder> propertyBinders, 74var modelMetadata = bindingContext.ModelMetadata; 75var boundConstructor = modelMetadata.BoundConstructor; 158internal static bool CreateModel(ModelBindingContext bindingContext, ModelMetadata boundConstructor, object[] values) 193var metadata = bindingContext.ModelMetadata; 225IReadOnlyList<ModelMetadata> parameters, 239var parameter = parameters[i]; 294var parameter = parameters[i]; 322IReadOnlyList<ModelMetadata> boundProperties) 335var property = boundProperties[i]; 386var property = boundProperties[i]; 406internal static bool CanBindItem(ModelBindingContext bindingContext, ModelMetadata propertyMetadata) 435ModelMetadata property, 480ModelMetadata parameter, 544var modelMetadata = bindingContext.ModelMetadata; 580var propertyMetadata = bindingContext.ModelMetadata.Properties[i]; 616var parameterMetadata = parameters[i]; 687ModelMetadata propertyMetadata,
ModelBinding\Binders\ComplexObjectModelBinderProvider.cs (4)
21var metadata = context.Metadata; 28var propertyBinders = new Dictionary<ModelMetadata, IModelBinder>(); 31var property = context.Metadata.Properties[i]; 43var boundConstructor = context.Metadata.BoundConstructor;
ModelBinding\Binders\ComplexTypeModelBinder.cs (15)
34private readonly IDictionary<ModelMetadata, IModelBinder> _propertyBinders; 46IDictionary<ModelMetadata, IModelBinder> propertyBinders, 61/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder 66IDictionary<ModelMetadata, IModelBinder> propertyBinders, 105var modelMetadata = bindingContext.ModelMetadata; 111var property = modelMetadata.Properties[i]; 161var property = modelMetadata.Properties[i]; 228/// <param name="propertyMetadata">The <see cref="ModelMetadata"/> for the model property.</param> 230protected virtual bool CanBindProperty(ModelBindingContext bindingContext, ModelMetadata propertyMetadata) 258ModelMetadata property, 381var propertyMetadata = bindingContext.ModelMetadata.Properties[i]; 423internal static bool CanUpdatePropertyInternal(ModelMetadata propertyMetadata) 482var metadata = bindingContext.ModelMetadata; 516/// <param name="propertyMetadata">The <see cref="ModelMetadata"/> for the property to set.</param> 521ModelMetadata propertyMetadata,
ModelBinding\Binders\ComplexTypeModelBinderProvider.cs (2)
24var propertyBinders = new Dictionary<ModelMetadata, IModelBinder>(); 27var property = context.Metadata.Properties[i];
ModelBinding\Binders\DateTimeModelBinder.cs (1)
53var metadata = bindingContext.ModelMetadata;
ModelBinding\Binders\DecimalModelBinder.cs (1)
55var metadata = bindingContext.ModelMetadata;
ModelBinding\Binders\DictionaryModelBinder.cs (6)
44/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder 52/// <see cref="ModelMetadata.IsBindingRequired"/>. 78/// <see cref="ModelMetadata.IsBindingRequired"/> is <see langword="true"/> for a top-level model, the binder 89/// <see cref="ModelMetadata.IsBindingRequired"/>. 158var elementMetadata = bindingContext.ModelMetadata.ElementMetadata!; 159var valueMetadata = elementMetadata.Properties[nameof(KeyValuePair<TKey, TValue>.Value)]!;
ModelBinding\Binders\DoubleModelBinder.cs (1)
55var metadata = bindingContext.ModelMetadata;
ModelBinding\Binders\FloatModelBinder.cs (1)
55var metadata = bindingContext.ModelMetadata;
ModelBinding\Binders\HeaderModelBinderProvider.cs (3)
28var modelMetadata = context.Metadata; 59private static bool IsSimpleType(ModelMetadata modelMetadata) 61var metadata = modelMetadata.ElementMetadata ?? modelMetadata;
ModelBinding\Binders\KeyValuePairModelBinder.cs (1)
96var propertyModelMetadata = bindingContext.ModelMetadata.Properties[propertyName]!;
ModelBinding\Binders\KeyValuePairModelBinderProvider.cs (2)
27var keyMetadata = context.MetadataProvider.GetMetadataForType(typeArguments[0]); 30var valueMetadata = context.MetadataProvider.GetMetadataForType(typeArguments[1]);
ModelBinding\Binders\TryParseModelBinder.cs (1)
110var tryParseMethodExpession = ModelMetadata.FindTryParseMethod(modelType)
ModelBinding\DefaultModelBindingContext.cs (6)
59public override ModelMetadata ModelMetadata 137public override Func<ModelMetadata, bool>? PropertyFilter 200ModelMetadata metadata, 246ModelMetadata modelMetadata, 327public ModelMetadata ModelMetadata; 331public Func<ModelMetadata, bool>? PropertyFilter;
ModelBinding\DefaultPropertyFilterProvider.cs (3)
19private static readonly Func<ModelMetadata, bool> _default = (m) => true; 33public virtual Func<ModelMetadata, bool> PropertyFilter 47private static Func<ModelMetadata, bool> GetPropertyFilterFromExpression(
ModelBinding\Metadata\BindingMetadata.cs (10)
13/// Binding metadata details for a <see cref="ModelMetadata"/>. 22/// See <see cref="ModelMetadata.BindingSource"/>. 28/// See <see cref="ModelMetadata.BinderModelName"/>. 34/// model. See <see cref="ModelMetadata.BinderType"/>. 61/// See <see cref="ModelMetadata.IsBindingAllowed"/>. 68/// See <see cref="ModelMetadata.IsBindingRequired"/>. 75/// <see cref="ModelMetadata.IsReadOnly"/> will be computed based on the accessibility 76/// of the property accessor and model <see cref="Type"/>. See <see cref="ModelMetadata.IsReadOnly"/>. 82/// <see cref="ModelMetadata.ModelBindingMessageProvider"/>. 98/// See <see cref="ModelMetadata.PropertyFilterProvider"/>.
ModelBinding\Metadata\BindingMetadataProviderContext.cs (2)
16/// <param name="key">The <see cref="ModelMetadataIdentity"/> for the <see cref="ModelMetadata"/>.</param> 17/// <param name="attributes">The attributes for the <see cref="ModelMetadata"/>.</param>
ModelBinding\Metadata\DefaultBindingMetadataProvider.cs (2)
177public Func<ModelMetadata, bool> PropertyFilter => CreatePropertyFilter(); 179private Func<ModelMetadata, bool> CreatePropertyFilter()
ModelBinding\Metadata\DefaultMetadataDetails.cs (6)
50/// Gets or sets the <see cref="ModelMetadata"/> entries for the model properties. 52public ModelMetadata[]? Properties { get; set; } 55/// Gets or sets the <see cref="ModelMetadata"/> entries for constructor parameters. 57public ModelMetadata[]? BoundConstructorParameters { get; set; } 80/// Gets or sets the <see cref="ModelMetadata"/> of the container type. 82public ModelMetadata? ContainerMetadata { get; set; }
ModelBinding\Metadata\DefaultModelMetadata.cs (13)
14/// A default <see cref="ModelMetadata"/> implementation. 27private ModelMetadata? _elementMetadata; 28private ModelMetadata? _constructorMetadata; 82public override ModelMetadata? ContainerMetadata => _details.ContainerMetadata; 216public override ModelMetadata? ElementMetadata 376public override ModelMetadata? BoundConstructor 396public override IReadOnlyList<ModelMetadata>? BoundConstructorParameters => _details.BoundConstructorParameters; 462internal static bool CalculateHasValidators(HashSet<DefaultModelMetadata> visited, ModelMetadata metadata) 511var parameters = defaultModelMetadata.BoundConstructor?.BoundConstructorParameters ?? Array.Empty<ModelMetadata>(); 512foreach (var parameter in parameters) 520foreach (var property in defaultModelMetadata.BoundProperties) 559public override ModelMetadata GetMetadataForType(Type modelType) 565public override IEnumerable<ModelMetadata> GetMetadataForProperties(Type modelType)
ModelBinding\Metadata\DefaultModelMetadataProvider.cs (15)
72public override IEnumerable<ModelMetadata> GetMetadataForProperties(Type modelType) 85var properties = new ModelMetadata[propertyDetails.Length]; 99public override ModelMetadata GetMetadataForParameter(ParameterInfo parameter) 103public override ModelMetadata GetMetadataForParameter(ParameterInfo parameter, Type modelType) 114public override ModelMetadata GetMetadataForType(Type modelType) 124public override ModelMetadata GetMetadataForProperty(PropertyInfo propertyInfo, Type modelType) 135public override ModelMetadata GetMetadataForConstructor(ConstructorInfo constructorInfo, Type modelType) 211var metadata = CreateModelMetadata(details); 235var parameterMetadata = new ModelMetadata[parameters.Length]; 306/// Creates a new <see cref="ModelMetadata"/> from a <see cref="DefaultMetadataDetails"/>. 309/// <returns>A new <see cref="ModelMetadata"/> instance.</returns> 312/// <see cref="DefaultModelMetadata"/> .Override this method to create a <see cref="ModelMetadata"/> 315protected virtual ModelMetadata CreateModelMetadata(DefaultMetadataDetails entry) 418public ModelMetadataCacheEntry(ModelMetadata metadata, DefaultMetadataDetails details) 424public ModelMetadata Metadata { get; }
ModelBinding\Metadata\DisplayMetadata.cs (29)
9/// Display metadata details for a <see cref="ModelMetadata"/>. 18/// Gets a set of additional values. See <see cref="ModelMetadata.AdditionalValues"/> 25/// <see cref="ModelMetadata.ConvertEmptyStringToNull"/> 31/// See <see cref="ModelMetadata.DataTypeName"/> 37/// model description. See <see cref="ModelMetadata.Description"/>. 43/// See <see cref="ModelMetadata.DisplayFormatString"/> 62/// <see cref="ModelMetadata.DisplayFormatString"/>. 83/// display name of the model. See <see cref="ModelMetadata.DisplayName"/>. 89/// See <see cref="ModelMetadata.EditFormatString"/> 115/// <see cref="ModelMetadata.EditFormatString"/>. 142/// <see cref="ModelMetadata.UnderlyingOrModelType"/>. See 143/// <see cref="ModelMetadata.EnumGroupedDisplayNamesAndValues"/>. 149/// <see cref="ModelMetadata.UnderlyingOrModelType"/>. See <see cref="ModelMetadata.EnumNamesAndValues"/>. 156/// See <see cref="ModelMetadata.HasNonDefaultEditFormat"/> 162/// See <see cref="ModelMetadata.HideSurroundingHtml"/> 168/// See <see cref="ModelMetadata.HtmlEncode"/> 173/// Gets a value indicating whether <see cref="ModelMetadata.UnderlyingOrModelType"/> is for an 174/// <see cref="System.Enum"/>. See <see cref="ModelMetadata.IsEnum"/>. 180/// Gets a value indicating whether <see cref="ModelMetadata.UnderlyingOrModelType"/> is for an 182/// <see cref="ModelMetadata.IsFlagsEnum"/>. 189/// See <see cref="ModelMetadata.NullDisplayText"/> 208/// See <see cref="ModelMetadata.NullDisplayText"/>. 229/// See <see cref="ModelMetadata.Order"/> 235/// model's placeholder text. See <see cref="ModelMetadata.Placeholder"/>. 241/// See <see cref="ModelMetadata.ShowForDisplay"/> 247/// See <see cref="ModelMetadata.ShowForEdit"/> 253/// See <see cref="ModelMetadata.SimpleDisplayProperty"/> 259/// See <see cref="ModelMetadata.TemplateHint"/>
ModelBinding\Metadata\DisplayMetadataProviderContext.cs (2)
16/// <param name="key">The <see cref="ModelMetadataIdentity"/> for the <see cref="ModelMetadata"/>.</param> 17/// <param name="attributes">The attributes for the <see cref="ModelMetadata"/>.</param>
ModelBinding\Metadata\ExcludeBindingMetadataProvider.cs (2)
9/// An <see cref="IBindingMetadataProvider"/> which configures <see cref="ModelMetadata.IsBindingAllowed"/> to 21/// <see cref="ModelMetadata.IsBindingAllowed"/> set to <c>false</c>.
ModelBinding\Metadata\ValidationMetadata.cs (7)
11/// Validation metadata details for a <see cref="ModelMetadata"/>. 18/// <see cref="ModelMetadata.IsRequired"/> will be computed based on the model <see cref="System.Type"/>. 19/// See <see cref="ModelMetadata.IsRequired"/>. 25/// should be validated. See <see cref="ModelMetadata.PropertyValidationFilter"/>. 31/// then <see cref="ModelMetadata.ValidateChildren"/> will be <c>true</c> if either of 32/// <see cref="ModelMetadata.IsComplexType"/> or <see cref="ModelMetadata.IsEnumerableType"/> is <c>true</c>;
ModelBinding\Metadata\ValidationMetadataProviderContext.cs (2)
16/// <param name="key">The <see cref="ModelMetadataIdentity"/> for the <see cref="ModelMetadata"/>.</param> 17/// <param name="attributes">The attributes for the <see cref="ModelMetadata"/>.</param>
ModelBinding\ModelBinderFactory.cs (9)
174private void AddToCache(ModelMetadata metadata, object? cacheToken, IModelBinder binder) 187private bool TryGetCachedBinder(ModelMetadata metadata, object? cacheToken, [NotNullWhen(true)] out IModelBinder? binder) 229ModelMetadata metadata, 242public override ModelMetadata Metadata { get; } 250public override IModelBinder CreateBinder(ModelMetadata metadata) 258public override IModelBinder CreateBinder(ModelMetadata metadata, BindingInfo bindingInfo) 266var token = metadata; 282private readonly ModelMetadata _metadata; 285public Key(ModelMetadata metadata, object? token)
ModelBinding\ModelBinderFactoryContext.cs (2)
19/// Gets or sets the <see cref="ModelMetadata"/>. 21public ModelMetadata Metadata { get; set; } = default!;
ModelBinding\ModelBindingHelper.cs (11)
131Func<ModelMetadata, bool> propertyFilter) 212Func<ModelMetadata, bool> propertyFilter) 232var modelMetadata = metadataProvider.GetMetadataForType(modelType); 327public static Expression<Func<ModelMetadata, bool>> GetPropertyFilterExpression<TModel>( 346return Expression.Lambda<Func<ModelMetadata, bool>>(orWrapperExpression, firstExpression.Parameters); 349private static Expression<Func<ModelMetadata, bool>> GetPredicateExpression<TModel>( 358/// Clears <see cref="ModelStateDictionary"/> entries for <see cref="ModelMetadata"/>. 378/// Clears <see cref="ModelStateDictionary"/> entries for <see cref="ModelMetadata"/>. 380/// <param name="modelMetadata">The <see cref="ModelMetadata"/>.</param> 384ModelMetadata modelMetadata, 417var property = modelMetadata.Properties[i];
ModelBinding\ModelMetadataProviderExtensions.cs (6)
16/// Gets a <see cref="ModelMetadata"/> for property identified by the provided 19/// <param name="provider">The <see cref="ModelMetadata"/>.</param> 22/// <returns>A <see cref="ModelMetadata"/> for the property.</returns> 23public static ModelMetadata GetMetadataForProperty( 32var containerMetadata = provider.GetMetadataForType(containerType); 34var propertyMetadata = containerMetadata.Properties[propertyName];
ModelBinding\ObjectModelValidator.cs (7)
51var metadata = model == null ? null : _modelMetadataProvider.GetMetadataForType(model.GetType()); 58/// <see cref="ModelMetadata.IsRequired"/> is <see langword="true"/>, will add one or more 66/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 72ModelMetadata metadata) 78/// <see cref="ModelMetadata.IsRequired"/> is <see langword="true"/>, will add one or more 86/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 93ModelMetadata metadata,
ModelBinding\ParameterBinder.cs (6)
61/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 69ModelMetadata metadata, 80/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 89ModelMetadata metadata, 175ModelMetadata metadata, 235ref ModelMetadata metadata)
ModelBinding\ParameterBinder.Log.cs (5)
18ModelMetadata modelMetadata) 64ModelMetadata modelMetadata) 110ModelMetadata modelMetadata) 157ModelMetadata modelMetadata) 207ModelMetadata modelMetadata)
ModelBinding\PropertyValueSetter.cs (1)
16ModelMetadata metadata,
ModelBinding\SuppressChildValidationMetadataProvider.cs (3)
12/// An <see cref="IValidationMetadataProvider"/> which configures <see cref="ModelMetadata.ValidateChildren"/> to 22/// <see cref="ModelMetadata.ValidateChildren"/> set to <c>false</c>. 36/// <see cref="ModelMetadata.ValidateChildren"/> set to <c>false</c>.
ModelBinding\Validation\ClientValidatorCache.cs (7)
17private readonly ConcurrentDictionary<ModelMetadata, CacheEntry> _cacheEntries = new ConcurrentDictionary<ModelMetadata, CacheEntry>(); 22/// <param name="metadata">The <see cref="ModelMetadata"/> being validated.</param> 25public IReadOnlyList<IClientModelValidator> GetValidators(ModelMetadata metadata, IClientModelValidatorProvider validatorProvider) 29metadata.ContainerMetadata.BoundConstructorPropertyMapping.TryGetValue(metadata, out var parameter)) 76private static IReadOnlyList<IClientModelValidator> GetValidatorsFromEntry(CacheEntry entry, ModelMetadata metadata, IClientModelValidatorProvider validationProvider) 104private static void ExecuteProvider(IClientModelValidatorProvider validatorProvider, ModelMetadata metadata, List<ClientValidatorItem> items)
ModelBinding\Validation\DefaultCollectionValidationStrategy.cs (5)
37/// <see cref="ModelMetadata.ElementMetadata"/>. The indices of the elements in the collection are used to 57ModelMetadata metadata, 65public IEnumerator GetEnumeratorForElementType(ModelMetadata metadata, object model) 92private readonly ModelMetadata _metadata; 99ModelMetadata metadata,
ModelBinding\Validation\DefaultComplexObjectValidationStrategy.cs (10)
27ModelMetadata metadata, 39private readonly ModelMetadata _modelMetadata; 40private readonly IReadOnlyList<ModelMetadata> _parameters; 41private readonly IReadOnlyList<ModelMetadata> _properties; 47ModelMetadata modelMetadata, 57_parameters = Array.Empty<ModelMetadata>(); 86var parameter = _parameters[_index]; 96if (!_modelMetadata.BoundConstructorParameterMapping.TryGetValue(parameter, out var property)) 107var property = _properties[_index - _parameters.Count]; 134private static object? GetModel(object container, ModelMetadata property)
ModelBinding\Validation\DefaultModelValidatorProvider.cs (1)
13/// instances in <see cref="ModelBinding.ModelMetadata.ValidatorMetadata"/>.
ModelBinding\Validation\ExplicitIndexCollectionValidationStrategy.cs (4)
27/// <see cref="ModelMetadata.ElementMetadata"/>. The keys captured during model binding are mapped to the elements 50ModelMetadata metadata, 61private readonly ModelMetadata _metadata; 68ModelMetadata metadata,
ModelBinding\Validation\IMetadataBasedModelValidatorProvider.cs (3)
12/// exclusively using values in <see cref="ModelMetadata.ValidatorMetadata"/> or the model type. 15/// <see cref="ModelMetadata"/> instance can incur any validation. The value for <see cref="ModelMetadata.HasValidators"/>
ModelBinding\Validation\ShortFormDictionaryValidationStrategy.cs (6)
32private readonly ModelMetadata _valueMetadata; 41/// The <see cref="ModelMetadata"/> associated with <typeparamref name="TValue"/>. 45ModelMetadata valueMetadata) 58ModelMetadata metadata, 68private readonly ModelMetadata _metadata; 75ModelMetadata metadata,
ModelBinding\Validation\ValidationVisitor.cs (13)
100protected ModelMetadata? Metadata { get; set; } 114/// When not <see langword="null"/>, <see cref="Visit(ModelMetadata, string, object)"/> will throw if 140/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 144public bool Validate(ModelMetadata metadata, string key, object model) 152/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 157public virtual bool Validate(ModelMetadata? metadata, string? key, object? model, bool alwaysValidateAtTopLevel) 163/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 169public virtual bool Validate(ModelMetadata? metadata, string? key, object? model, bool alwaysValidateAtTopLevel, object? container) 264protected virtual bool Visit(ModelMetadata metadata, string? key, object? model) 287private bool VisitImplementation(ref ModelMetadata metadata, ref string? key, object? model) 431var metadata = entry.Metadata; 492private readonly ModelMetadata _metadata; 508ModelMetadata metadata,
ModelBinding\Validation\ValidatorCache.cs (4)
16private readonly ConcurrentDictionary<ModelMetadata, CacheEntry> _cacheEntries = new(); 24public IReadOnlyList<IModelValidator> GetValidators(ModelMetadata metadata, IModelValidatorProvider validatorProvider) 66private static IReadOnlyList<IModelValidator> GetValidatorsFromEntry(CacheEntry entry, ModelMetadata metadata, IModelValidatorProvider validationProvider) 94private static void ExecuteProvider(IModelValidatorProvider validatorProvider, ModelMetadata metadata, List<ValidatorItem> items)
MvcCoreLoggerExtensions.cs (3)
120var modelMetadata = bindingContext.ModelMetadata; 175var modelMetadata = bindingContext.ModelMetadata; 215var modelMetadata = bindingContext.ModelMetadata;
MvcOptions.cs (3)
169/// <see cref="ModelMetadata.ModelBindingMessageProvider"/> property of all <see cref="ModelMetadata"/> 176/// create <see cref="ModelMetadata"/> instances.
Microsoft.AspNetCore.Mvc.DataAnnotations (6)
CompareAttributeAdapter.cs (1)
88var otherProperty = validationContext.MetadataProvider.GetMetadataForProperty(
DataAnnotationsModelValidator.cs (1)
70var metadata = validationContext.ModelMetadata;
DefaultClientModelValidatorProvider.cs (1)
13/// <see cref="IClientModelValidator"/> instances in <see cref="ModelBinding.ModelMetadata.ValidatorMetadata"/>.
NumericClientModelValidator.cs (1)
32private static string GetErrorMessage(ModelMetadata modelMetadata)
ValidationAttributeAdapterOfTAttribute.cs (2)
61/// <param name="modelMetadata">The <see cref="ModelMetadata"/> associated with the model annotated with 65protected virtual string GetErrorMessage(ModelMetadata modelMetadata, params object[] arguments)
Microsoft.AspNetCore.Mvc.RazorPages (14)
ApplicationModels\DefaultPageApplicationModelPartsProvider.cs (2)
84var modelMetadata = modelMetadataProviderBase.GetMetadataForParameter(parameter); 112var propertyMetadata = _modelMetadataProvider.GetMetadataForProperty(property.DeclaringType!, property.Name);
Infrastructure\PageBinderFactory.cs (6)
33var metadata = modelMetadataProvider.GetMetadataForProperty(handlerType, property.Name); 58var modelMetadata = bindingInfo.ModelMetadata; 99ModelMetadata metadata; 139var modelMetadata = bindingInfo.ModelMetadata; 165public BinderItem(IModelBinder modelBinder, ModelMetadata modelMetadata) 171public ModelMetadata ModelMetadata { get; }
PageBase.cs (3)
1391Func<ModelMetadata, bool> propertyFilter) 1463Func<ModelMetadata, bool> propertyFilter) 1531Func<ModelMetadata, bool> propertyFilter)
PageModel.cs (3)
296Func<ModelMetadata, bool> propertyFilter) 368Func<ModelMetadata, bool> propertyFilter) 436Func<ModelMetadata, bool> propertyFilter)
Microsoft.AspNetCore.Mvc.TagHelpers (2)
InputTagHelper.cs (2)
180var metadata = For.Metadata; 280/// <see cref="ModelMetadata.ModelType"/> base class, used to determine this method's return value.</param>
Microsoft.AspNetCore.Mvc.ViewFeatures (99)
DefaultDisplayTemplates.cs (3)
88var elementMetadata = htmlHelper.ViewData.ModelMetadata.ElementMetadata; 114var itemMetadata = elementMetadata; 215var propertyMetadata = propertyExplorer.Metadata;
DefaultEditorTemplates.cs (4)
71var elementMetadata = htmlHelper.ViewData.ModelMetadata.ElementMetadata; 97var itemMetadata = elementMetadata; 258var propertyMetadata = propertyExplorer.Metadata; 422var metadata = htmlHelper.ViewData.ModelMetadata;
DefaultHtmlGenerator.cs (1)
956var metadata = modelExplorer.Metadata;
ExpressionMetadataProvider.cs (5)
95ModelMetadata metadata = null; 176var containerMetadata = metadataProvider.GetMetadataForType(viewDataInfo.Container.GetType()); 177var propertyMetadata = containerMetadata.Properties[viewDataInfo.PropertyInfo.Name]; 185var valueMetadata = metadataProvider.GetMetadataForType(viewDataInfo.Value.GetType()); 191var stringMetadata = metadataProvider.GetMetadataForType(typeof(string));
HtmlHelper.cs (5)
369var metadata = MetadataProvider.GetMetadataForType(type); 387var metadata = MetadataProvider.GetMetadataForType(enumType); 1359/// <param name="metadata"><see cref="ModelMetadata"/> to generate a select list for.</param> 1365/// Thrown if <paramref name="metadata"/>'s <see cref="ModelMetadata.ModelType"/> is not an <see cref="Enum"/> 1368protected virtual IEnumerable<SelectListItem> GetEnumSelectList(ModelMetadata metadata)
ModelExplorer.cs (28)
11/// Associates a model object with it's corresponding <see cref="ModelMetadata"/>. 26/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 30ModelMetadata metadata, 46/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 51ModelMetadata metadata, 69/// <param name="metadata">The <see cref="ModelMetadata"/>.</param> 74ModelMetadata metadata, 104/// instances, then use <see cref="ModelMetadata.ContainerType"/> to validate this assumption. 110/// Gets the <see cref="ModelMetadata"/>. 112public ModelMetadata Metadata { get; } 170/// Includes a <see cref="ModelExplorer"/> for each property of the <see cref="ModelMetadata"/> 181var metadata = GetMetadataForRuntimeType(); 188var propertyMetadata = properties[i]; 264var metadata = GetMetadataForRuntimeType(); 266var propertyMetadata = metadata.Properties[name]; 289var metadata = GetMetadataForRuntimeType(); 291var propertyMetadata = metadata.Properties[name]; 320var metadata = _metadataProvider.GetMetadataForType(modelType); 327/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 333/// <see cref="GetExplorerForExpression(ModelMetadata, object)"/> 341public ModelExplorer GetExplorerForExpression(ModelMetadata metadata, object model) 369var metadata = _metadataProvider.GetMetadataForType(modelType); 376/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 382/// <see cref="GetExplorerForExpression(ModelMetadata, Func{object, object})"/> 390public ModelExplorer GetExplorerForExpression(ModelMetadata metadata, Func<object, object> modelAccessor) 397private ModelMetadata GetMetadataForRuntimeType() 401var metadata = Metadata; 411ModelMetadata propertyMetadata,
ModelExpression.cs (1)
39public ModelMetadata Metadata => ModelExplorer.Metadata;
ModelMetadataProviderExtensions.cs (1)
31var modelMetadata = provider.GetMetadataForType(modelType);
ModelStateDictionaryExtensions.cs (5)
45/// when <see cref="ModelMetadata"/> is not available or the exact <paramref name="exception"/> 73/// <param name="metadata">The <see cref="ModelMetadata"/> associated with the model.</param> 78ModelMetadata metadata) 124var modelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(typeof(TModel)); 127var property = modelMetadata.Properties[i];
Rendering\HtmlHelperDisplayExtensions.cs (16)
16/// using the <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 48/// <see cref="ModelBinding.ModelMetadata"/>. 92/// <see cref="ModelBinding.ModelMetadata"/>. 128/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 174/// <paramref name="expression"/>'s<see cref="ModelBinding.ModelMetadata"/>. 214/// using the <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 248/// <see cref="ModelBinding.ModelMetadata"/>. 288/// <see cref="ModelBinding.ModelMetadata"/>. 324/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 366/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 406/// model's <see cref="ModelBinding.ModelMetadata"/>. 433/// template is found using the model's <see cref="ModelBinding.ModelMetadata"/>. 465/// <paramref name="templateName"/> or the model's <see cref="ModelBinding.ModelMetadata"/>. 494/// <see cref="ModelBinding.ModelMetadata"/>. 531/// <see cref="ModelBinding.ModelMetadata"/>. 567/// <see cref="ModelBinding.ModelMetadata"/>.
Rendering\HtmlHelperEditorExtensions.cs (16)
16/// using the <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 48/// <see cref="ModelBinding.ModelMetadata"/>. 92/// <see cref="ModelBinding.ModelMetadata"/>. 125/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 171/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 211/// using the <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 241/// <see cref="ModelBinding.ModelMetadata"/>. 281/// <see cref="ModelBinding.ModelMetadata"/>. 313/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 355/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>. 391/// model's <see cref="ModelBinding.ModelMetadata"/>. 418/// template is found using the model's <see cref="ModelBinding.ModelMetadata"/>. 450/// <paramref name="templateName"/> or the model's <see cref="ModelBinding.ModelMetadata"/>. 479/// <see cref="ModelBinding.ModelMetadata"/>. 516/// <see cref="ModelBinding.ModelMetadata"/>. 552/// <see cref="ModelBinding.ModelMetadata"/>.
Rendering\IHtmlHelper.cs (3)
197/// <paramref name="expression"/>'s <see cref="ModelMetadata"/>. 247/// If the expression result is <c>null</c>, returns <see cref="ModelMetadata.NullDisplayText"/>. 289/// <paramref name="expression"/>'s <see cref="ModelMetadata"/>.
Rendering\IHtmlHelperOfT.cs (3)
49/// <paramref name="expression"/>’s <see cref="Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata.TemplateHint"/>. 109/// <see cref="ModelBinding.ModelMetadata.NullDisplayText"/>. 151/// <paramref name="expression"/>'s <see cref="ModelBinding.ModelMetadata"/>.
TemplateBuilder.cs (1)
22private readonly ModelMetadata _metadata;
TemplateRenderer.cs (2)
147var metadata = _viewData.ModelMetadata; 169public static IEnumerable<string> GetTypeNames(ModelMetadata modelMetadata, Type fieldType)
ValidationHelpers.cs (3)
59var metadata = viewData.ModelMetadata; 84ModelMetadata metadata, 98var propertyMetadata = metadata.Properties[i];
ViewDataDictionary.cs (2)
278/// Gets the <see cref="ModelBinding.ModelMetadata"/> for an expression, the <see cref="Model"/> (if 285public ModelMetadata ModelMetadata