| File: Infrastructure\ITypeActivatorCache.cs | Web Access |
| Project: src\aspnetcore\src\Mvc\Mvc.Core\src\Microsoft.AspNetCore.Mvc.Core.csproj (Microsoft.AspNetCore.Mvc.Core) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable enable namespace Microsoft.AspNetCore.Mvc.Infrastructure; /// <summary> /// Caches <see cref="Extensions.DependencyInjection.ObjectFactory"/> instances produced by /// <see cref="Extensions.DependencyInjection.ActivatorUtilities.CreateFactory(Type, Type[])"/>. /// </summary> internal interface ITypeActivatorCache { /// <summary> /// Creates an instance of <typeparamref name="TInstance"/>. /// </summary> /// <param name="serviceProvider">The <see cref="IServiceProvider"/> used to resolve dependencies for /// <paramref name="optionType"/>.</param> /// <param name="optionType">The <see cref="Type"/> of the <typeparamref name="TInstance"/> to create.</param> TInstance CreateInstance<TInstance>(IServiceProvider serviceProvider, Type optionType); }