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,36 @@
using ModestTree;
namespace Zenject
{
public class FactoryProviderWrapper<TContract> : IFactory<TContract>
{
readonly IProvider _provider;
readonly InjectContext _injectContext;
public FactoryProviderWrapper(
IProvider provider, InjectContext injectContext)
{
Assert.That(injectContext.MemberType.DerivesFromOrEqual<TContract>());
_provider = provider;
_injectContext = injectContext;
}
public TContract Create()
{
var instance = _provider.GetInstance(_injectContext);
if (_injectContext.Container.IsValidating)
{
// During validation it is sufficient to just call the _provider.GetInstance
return default(TContract);
}
Assert.That(instance == null
|| instance.GetType().DerivesFromOrEqual(_injectContext.MemberType));
return (TContract)instance;
}
}
}