23 lines
732 B
C#
Raw Normal View History

2025-09-19 19:43:49 +05:00
using System.Runtime.CompilerServices;
namespace VContainer.Internal
{
sealed class InstanceRegistrationBuilder : RegistrationBuilder
{
readonly object implementationInstance;
public InstanceRegistrationBuilder(object implementationInstance)
: base(implementationInstance.GetType(), Lifetime.Singleton)
{
this.implementationInstance = implementationInstance;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public override Registration Build()
{
var spawner = new ExistingInstanceProvider(implementationInstance);
return new Registration(ImplementationType, Lifetime, InterfaceTypes, spawner);
}
}
}