/
GeekNerd
/
ServerModelingProject
Обзор
Документация
Войти
/
GeekNerd
/
ServerModelingProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Plugins/Zenject/Source/Factories/FactoryProviderWrapper.cs
35 строк
1005 B
Gorney-Alex
Init
30 май 2026, 19:05
30 май 2026, 19:05
3cdcc49
Код
Авторство
О чём код?
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; } } }