Exemple #1
0
        public void RegisterClassWithSingleDependencyAndCheckWhetherInstanceIsCreated()
        {
            IOCContainerBuilder builder = new IOCContainerBuilder();

            builder.Add <iclassA, classA>();
            builder.Add <iclassB, classB>();


            var result = builder.Get(typeof(iclassA));

            ConstructorInfo[] info = result.GetConstructors(BindingFlags.Public | BindingFlags.Instance);

            ParameterInfo[] parameterInfos = info[0].GetParameters();
            object[]        parameters     = new object[parameterInfos.Length];
            for (int i = 0; i < parameterInfos.Length; i++)
            {
                Type typeofparams = parameterInfos[i].ParameterType;
                parameters[i] = Activator.CreateInstance(builder.Get(typeofparams));
            }
            var obj = Activator.CreateInstance(result, parameters);

            //Console.WriteLine(
            (obj as classA).print();
            //);
        }
Exemple #2
0
        public void RegisterClassWithNoDependencyAndCheckWhetherInstanceIsCreated()
        {
            IOCContainerBuilder builder = new IOCContainerBuilder();

            builder.Add <ParameterlessConstructorTest, ParameterlessConstructorTest>();

            var result = builder.Get(typeof(ParameterlessConstructorTest));

            var obj = Activator.CreateInstance(result);

            Assert.IsType <ParameterlessConstructorTest>(obj);
            Assert.IsType <ParameterlessConstructorTest>(obj);
        }
    public static void main()
    {
        IOCContainerBuilder builder = new IOCContainerBuilder();

        // This code will go in to startup class
        builder.addTransient <iclassA, classA>()
        .addTransient <classB, classB>();

        // whoever creates an instance of your class will use this method
        // controller(iclassA classa)
        Type result = builder.Get(typeof(iclassA));
        // new classA();

        var obj = Activator.CreateInstance(result);

        //
    }