public void GetInstance_Injector_1_ReturnsInjector_1()
        {
            var creator = new InstanceCreator <Injector>();

            creator.GetInstance(typeof(Injector_1), out var result);

            Assert.IsTrue(result is Injector_1);
        }
    public void Verify()
    {
        String fullyQualifiedName = typeof(SampleClass).AssemblyQualifiedName;

        FunctionList.Add("SAMPLE", $"{fullyQualifiedName}#doAction");
        InstanceCreator Creator = new InstanceCreator();

        String[] FunctionMapping = FunctionList["SAMPLE"].Split('#');
        object   Test            = Creator.GetInstance(FunctionMapping[0]);
        bool     Result          = (bool)Creator.InvokeMethod(Test, FunctionMapping[1]);
    }
예제 #3
0
        public string GetScript()
        {
            var items = Serenity.PropertyGrid.PropertyItemHelper.GetPropertyItemsFor(type);

            if (typeof(ICustomizedFormScript).IsAssignableFrom(type))
            {
                var instance = InstanceCreator.GetInstance(type) as ICustomizedFormScript;
                instance.Customize(items);
            }

            return(String.Format("Q.ScriptData.set({0}, {1});", (scriptName).ToSingleQuoted(), items.ToJson()));
        }
예제 #4
0
        public string GetScript()
        {
            var items = PropertyEditorHelper.GetPropertyItemsFor(_formType);

            if (typeof(ICustomizedFormScript).IsAssignableFrom(_formType))
            {
                var instance = InstanceCreator.GetInstance(_formType) as ICustomizedFormScript;
                instance.Customize(items);
            }

            return(String.Format("Q$ScriptData.set({0}, {1});", ("Form." + _name).ToSingleQuoted(), items.ToJson()));
        }
        /// <summary>
        /// do the inject job
        /// </summary>
        /// <param name="inject">specific injection operation</param>
        /// <typeparam name="T">generic or non-generic <see cref="Injector"/></typeparam>
        /// <returns></returns>
        private static IServiceProvider configureServices <T>(Action <T> inject) where T : Injector
        {
            var typeFactory = new TypeFactory();
            var creator     = new InstanceCreator <T>();

            foreach (var type in creator.GetInjectorImpTypes(typeFactory))
            {
                if (creator.GetInstance(type, out var injector))
                {
                    inject(injector);
                }
            }

            return(Injector.Build());
        }