Project DescriptionSimplest-that-could-possibly work inversion of control framework.
Written in C#
To use it, create the type of factory first:
InversionOfController.Factory = new TypeFactory(new SimpleTypeResolver());
Then register the types you will need:
InversionOfController.Factory.RegisterType<ITalkingAnimal, Parrot>();
InversionOfController.Factory.RegisterType<ITalkingAnimal, Dog>();
InversionOfController.Factory.RegisterType<ITalkingAnimal, Cat>();
Then when you need to create a type:
var animal = InversionOfController.Factory.CreateTypeOf<ITalkingAnimal>();