Пример #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();
            //);
        }
Пример #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);
        }