public IList <T> GetAllInstances <T>(ExplicitArguments args) { BuildSession session = withNewSession(Plugin.DEFAULT); args.RegisterDefaults(session); return(getListOfTypeWithSession <T>(session)); }
/// <summary> /// Gets all configured instances of type T using explicitly configured arguments from the "args" /// </summary> /// <param name="type"></param> /// <param name="args"></param> /// <returns></returns> public IList GetAllInstances(Type type, ExplicitArguments args) { BuildSession session = withNewSession(Plugin.DEFAULT); args.RegisterDefaults(session); Array instances = session.CreateInstanceArray(type, null); return(new ArrayList(instances)); }
private object buildInstanceWithArgs(Type pluginType, Instance defaultInstance, ExplicitArguments args, string requestedName) { if (defaultInstance == null && pluginType.IsConcrete()) { defaultInstance = new ConfiguredInstance(pluginType); } var basicInstance = defaultInstance as ConstructorInstance; Instance instance = basicInstance == null ? defaultInstance : basicInstance.Override(args); BuildSession session = withNewSession(requestedName); args.RegisterDefaults(session); return(session.CreateInstance(pluginType, instance)); }