| File: ModelMetadataProviderExtensions.cs | Web Access |
| Project: src\aspnetcore\src\Mvc\Mvc.ViewFeatures\src\Microsoft.AspNetCore.Mvc.ViewFeatures.csproj (Microsoft.AspNetCore.Mvc.ViewFeatures) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.AspNetCore.Mvc.ModelBinding; namespace Microsoft.AspNetCore.Mvc.ViewFeatures; /// <summary> /// Extensions methods for <see cref="IModelMetadataProvider"/>. /// </summary> public static class ModelMetadataProviderExtensions { /// <summary> /// Gets a <see cref="ModelExplorer"/> for the provided <paramref name="modelType"/> and /// <paramref name="model"/>. /// </summary> /// <param name="provider">The <see cref="IModelMetadataProvider"/>.</param> /// <param name="modelType">The declared <see cref="Type"/> of the model object.</param> /// <param name="model">The model object.</param> /// <returns> /// A <see cref="ModelExplorer"/> for the <paramref name="modelType"/> and <paramref name="model"/>. /// </returns> public static ModelExplorer GetModelExplorerForType( this IModelMetadataProvider provider, Type modelType, object model) { ArgumentNullException.ThrowIfNull(provider); ArgumentNullException.ThrowIfNull(modelType); var modelMetadata = provider.GetMetadataForType(modelType); return new ModelExplorer(provider, modelMetadata, model); } }