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)); }
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); }
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)); }