Month: May 2013

TDD – getting started

It’s not TDD, it’s design by example http://stackoverflow.com/questions/2512504/tdd-how-to-start-really-thinking-tdd … I write a test that starts by ‘newing’ up a class that doesn’t exist. It won’t compile. (red) So, I create an empty class so it compiles, and succeeds. (green). I call a method on the class, it doesn’t yet exist and won’t compile. (red) I right click, “generate method”. Compile,… Read more →

SimpleInjector IEnumerable<ISomeService<T>> With A Mixture Of Open & Closed Generics – Further investigation

Please note that as of Release 2.3 of SimpleInjector the features discussed in this and related articles are available out of the box with the new registration method RegisterAllOpenGeneric This post is a follow on from previous posts here and here. I’ve altered the test to return IEnumerable<ISomeService<T>> where T is an interface instead of a class. public interface IClass… Read more →

SimpleInjector IEnumerable<ISomeService<T>> with a mixture of open & closed generics – one possible solution

Please note that as of Release 2.3 of SimpleInjector the features discussed in this and related articles are available out of the box with the new registration method RegisterAllOpenGeneric private static Container BootstrapSI() { Container container = new Container(); List<Type> types = new List<Type>(); container.RegisterManyForOpenGeneric(typeof(IObserve<>), AccessibilityOption.PublicTypesOnly, (service, implTypes) => { //ignore implTypes as it only contains closed generic types var… Read more →

SimpleInjector IEnumerable<ISomeService<T>> with a mixture of open & closed generics – the problem

Please note that as of Release 2.3 of SimpleInjector the features discussed in this and related articles are available out of the box with the new registration method RegisterAllOpenGeneric I like SimpleInjector, it’s great and so is the support. The guy behind SimpleInjector is a top class craftsman. However I recently discovered that SimpleInjector does not return any open generic… Read more →