It’s so awesome.
I have about 1 minute for that, and the code is very self explanatory, so Im just doing a Copy&Paste from the Castle dev list:
Craig Neuwirt:
The recent changes to the kernel registration interface allows for custom registration strategies. I just added an AllTypesOf strategy to allow for the most common scenarios. Here are some examples:
kernel.Register( AllTypesOf<IController> .FromAssembly( Assembly.GetExecutingAssembly() ) );
kernel.Register( AllTypesOf<ICommon> .FromAssembly(Assembly.GetExecutingAssembly() ) .WithService.FirstInterface() );
kernel.Register( AllTypesOf<ICommon> .FromAssembly( Assembly.GetExecutingAssembly() ) .Configure( component => component.LifeStyle.Transient .Named( component.Implementation.FullName + "XYZ" ) ) );
kernel.Register( AllTypesOf<CustomerChain1> .Pick( from type in Assembly.GetExecutingAssembly().GetExportedTypes() where type.IsDefined(typeof(SerializableAttribute), true) select type ));
Ayende:
You are taking all the fun out of Binsor :-)