Пример #1
0
        public IList <T> GetAllInstances <T>(ExplicitArguments args)
        {
            BuildSession session = withNewSession(Plugin.DEFAULT);

            args.RegisterDefaults(session);

            return(getListOfTypeWithSession <T>(session));
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        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));
        }