Beispiel #1
0
        public IDependencyFactory this[Type genericTypeDefinition, IEnumerable <Type> genericTypeArguments, object serviceKey = null, InstanceOrigins instanceOrigins = InstanceOrigins.All]
        {
            get
            {
                if (TryGetFactory(out IDependencyFactory factory, genericTypeDefinition, genericTypeArguments, serviceKey, instanceOrigins))
                {
                    return(factory);
                }

                throw new NotRegisterException(genericTypeDefinition, serviceKey);
            }
        }
 public IEnumerable <T> ResolveMany <T>(object key = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null)
 => ResolveMany(typeof(T), key, origins, resolver ?? this, args).Cast <T>();
 public abstract object Resolve(Type type, object key = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null);
 public T Resolve <T>(object key = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null)
 => (T)Resolve(typeof(T), key, origins, resolver ?? this, args);
        public virtual bool TryResolveMany(out IEnumerable objs, Type type, object key = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null)
        {
            bool result = TryResolve(out object obj, key, origins, resolver ?? this, args);

            objs = new[] { obj };
            return(result);
        }
 public virtual IEnumerable ResolveMany(Type type, object key = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null)
 {
     yield return(Resolve(type, key, origins, resolver ?? this, args));
 }
Beispiel #7
0
        public override bool TryResolve(out object obj, Type type, object serviceKey = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null)
        {
            if (!Registry.TryGetFactory(out IDependencyFactory factory, type, serviceKey, origins))
            {
                obj = null;
                return(false);
            }

            obj = factory.Get(resolver ?? this);
            return(true);
        }
Beispiel #8
0
 public override object Resolve(Type type, object serviceKey = null, InstanceOrigins origins = InstanceOrigins.All, IDependencyResolver resolver = null, IEnumerable <object> args = null)
 {
     return(Registry[type, serviceKey, origins].Get(resolver ?? this));
 }