23 lines
714 B
C#
23 lines
714 B
C#
|
|
using System.Collections.Generic;
|
||
|
|
using System.Runtime.CompilerServices;
|
||
|
|
|
||
|
|
namespace VContainer.Internal
|
||
|
|
{
|
||
|
|
sealed class InstanceProvider : IInstanceProvider
|
||
|
|
{
|
||
|
|
readonly IInjector injector;
|
||
|
|
readonly IReadOnlyList<IInjectParameter> customParameters;
|
||
|
|
|
||
|
|
public InstanceProvider(
|
||
|
|
IInjector injector,
|
||
|
|
IReadOnlyList<IInjectParameter> customParameters = null)
|
||
|
|
{
|
||
|
|
this.injector = injector;
|
||
|
|
this.customParameters = customParameters;
|
||
|
|
}
|
||
|
|
|
||
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||
|
|
public object SpawnInstance(IObjectResolver resolver)
|
||
|
|
=> injector.CreateInstance(resolver, customParameters);
|
||
|
|
}
|
||
|
|
}
|