private object GetComponentInstance([NotNull] ComponentInfo component) { if (_singletonInstanceContainer.TryGetInstance(component.ComponentType, out var instance)) { return(instance); } instance = _instanceCreators[component.ComponentType]?.CreateInstance(this); ThrowIf.Variable.IsNull(instance, nameof(instance)); _singletonInstanceContainer.AddSingletonInstance(component.ComponentType, instance); return(instance); }
public InstanceCreator([NotNull] ComponentInfo component) { _component = component; }