Exemple #1
0
        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);
        }
Exemple #2
0
 public InstanceCreator([NotNull] ComponentInfo component)
 {
     _component = component;
 }