Exemplo n.º 1
0
        protected T DoBuildInstance(ISharingLifetimeScope scope, InjectionOperator <T> injectionOperator, ParameterSet parameters)
        {
            T instance;

            injectionOperator.DoBuildInstance(scope, parameters, out instance);
            return(instance);
        }
Exemplo n.º 2
0
        protected T DoBuildInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
        {
            T instance;

            injectionOperator.DoBuildInstance(context, parameters, out instance);
            return(instance);
        }
Exemplo n.º 3
0
 public override T BuildInstance(ISharingLifetimeScope scope, InjectionOperator <T> injectionOperator, ParameterSet parameters)
 {
     if (injectionOperator.Resolved)
     {
         return(_instance);
     }
     _instance = BuildSingletonInstance(scope, injectionOperator, parameters);
     return(_instance);
 }
Exemplo n.º 4
0
 public override T BuildInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
 {
     if (injectionOperator.Resolved)
     {
         return(_instance);
     }
     _instance = BuildSingletonInstance(context, injectionOperator, parameters);
     return(_instance);
 }
        protected override T BuildSingletonInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
        {
            var instance      = DoBuildInstance(context, injectionOperator, parameters);
            var disposable    = instance as IDisposable;
            var matchingScope = context.LifetimeScope.ContainerScope;

            lock (matchingScope.SyncRoot)
                matchingScope.RegisterForDisposal(disposable);
            return(instance);
        }
        public override T BuildInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
        {
            var matchingScope = context.LifetimeScope.SharingScope;

            Lifetime.ThrowWhenMatchingScopeIsNull(matchingScope, _error);
            var instance   = DoBuildInstance(context, injectionOperator, parameters);
            var disposable = instance as IDisposable;

            lock (matchingScope.SyncRoot)
                matchingScope.RegisterForDisposal(disposable);
            return(instance);
        }
Exemplo n.º 7
0
        public override T BuildInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
        {
            var matchingScope = context.LifetimeScope.SharingScope;

            Lifetime.ThrowWhenMatchingScopeIsNull(matchingScope, _error);
            lock (matchingScope.SyncRoot)
            {
                var cachedInstance = matchingScope.GetInstance(injectionOperator.ObjectDescription);
                if (cachedInstance != null)
                {
                    return((T)cachedInstance);
                }

                var instance = DoBuildInstance(context, injectionOperator, parameters);
                matchingScope.SetInstance(injectionOperator.ObjectDescription, instance);
                return(instance);
            }
        }
Exemplo n.º 8
0
        public override T BuildInstance(ISharingLifetimeScope scope, InjectionOperator <T> injectionOperator, ParameterSet parameters)
        {
            var matchingScope = scope.SharingScope;

            Lifetime.ThrowWhenMatchingScopeIsNull(matchingScope, _error);
            lock (matchingScope.SyncRoot)
            {
                var cachedInstance = matchingScope.GetInstance(injectionOperator.ObjectDescription);
                if (cachedInstance != null)
                {
                    return((T)cachedInstance);
                }

                var instance = DoBuildInstance(scope, injectionOperator, parameters);
                matchingScope.SetInstance(injectionOperator.ObjectDescription, instance);
                var disposable = instance as IDisposable;
                matchingScope.RegisterForDisposal(disposable);
                return(instance);
            }
        }
Exemplo n.º 9
0
 public abstract T BuildInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters);
Exemplo n.º 10
0
 public abstract T BuildInstance(ISharingLifetimeScope scope, InjectionOperator <T> injectionOperator, ParameterSet parameters);
Exemplo n.º 11
0
 protected abstract T BuildSingletonInstance(InjectionContext context, InjectionOperator <T> injectionOperator,
                                             ParameterSet parameters);
Exemplo n.º 12
0
 protected abstract T BuildSingletonInstance(ISharingLifetimeScope scope, InjectionOperator <T> injectionOperator,
                                             ParameterSet parameters);
Exemplo n.º 13
0
 public override T BuildInstance(ISharingLifetimeScope scope, InjectionOperator <T> injectionOperator, ParameterSet parameters)
 {
     return(DoBuildInstance(scope, injectionOperator, parameters));
 }
Exemplo n.º 14
0
 public override T BuildInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
 {
     return(DoBuildInstance(context, injectionOperator, parameters));
 }
 protected override T BuildSingletonInstance(InjectionContext context, InjectionOperator <T> injectionOperator, ParameterSet parameters)
 {
     return(DoBuildInstance(context, injectionOperator, parameters));
 }