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(); //); }
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); // }