Initial Commit

This commit is contained in:
2026-03-16 14:38:46 +02:00
commit b8f7327a21
2327 changed files with 253610 additions and 0 deletions
@@ -0,0 +1,37 @@
using System;
using ModestTree;
namespace Zenject
{
[NoReflectionBaking]
public class SingleProviderBindingFinalizer : ProviderBindingFinalizer
{
readonly Func<DiContainer, Type, IProvider> _providerFactory;
public SingleProviderBindingFinalizer(
BindInfo bindInfo, Func<DiContainer, Type, IProvider> providerFactory)
: base(bindInfo)
{
_providerFactory = providerFactory;
}
protected override void OnFinalizeBinding(DiContainer container)
{
if (BindInfo.ToChoice == ToChoices.Self)
{
Assert.IsEmpty(BindInfo.ToTypes);
RegisterProviderPerContract(container, _providerFactory);
}
else
{
// Empty sometimes when using convention based bindings
if (!BindInfo.ToTypes.IsEmpty())
{
RegisterProvidersForAllContractsPerConcreteType(
container, BindInfo.ToTypes, _providerFactory);
}
}
}
}
}