From 585c0a29585f24685618fc6db5bf23e863541f93 Mon Sep 17 00:00:00 2001 From: user Date: Fri, 3 Jul 2026 02:59:53 +0800 Subject: [PATCH] Add non-generic Register overload --- .../VContainer/Runtime/ContainerBuilderExtensions.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/VContainer/Assets/VContainer/Runtime/ContainerBuilderExtensions.cs b/VContainer/Assets/VContainer/Runtime/ContainerBuilderExtensions.cs index 113b949f..f6327475 100644 --- a/VContainer/Assets/VContainer/Runtime/ContainerBuilderExtensions.cs +++ b/VContainer/Assets/VContainer/Runtime/ContainerBuilderExtensions.cs @@ -57,14 +57,22 @@ public static RegistrationBuilder Register( Func implementationConfiguration, Lifetime lifetime) => builder.Register(new FuncRegistrationBuilder(container => implementationConfiguration(container), typeof(TInterface), lifetime)); - + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RegistrationBuilder Register( + this IContainerBuilder builder, + Func implementationProvider, + Type interfaceType, + Lifetime lifetime) + => builder.Register(new FuncRegistrationBuilder(implementationProvider, interfaceType, lifetime)); + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RegistrationBuilder RegisterInstance( this IContainerBuilder builder, object instance, Type implementationType) => builder.Register(new InstanceRegistrationBuilder(instance)).As(implementationType); - + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static RegistrationBuilder RegisterInstance( this IContainerBuilder builder,